[Image-SIG] re: resize filter types

Janko Hauser jh@comunit.de
Tue, 20 Aug 2002 15:47:27 +0200


This is a multi-part message in MIME format.
--------------010303090507090205050101
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Peter Dyson wrote:

> Hi,
>
> I see the imaging lib has 3 different resize filters - nearest, 
> bilinear and bicubic. Are there any plans for a fractal  interpolation 
> filter as demonstrated here: 
> http://www.dpreview.com/learn/Glossary/Digital_Imaging/Interpolation_01.htm 
>
>
> Any comments are appreciated.

The newest version of PIL has also an antialiasing filter, which gives 
very good results. An example is attached, it's not as good as the 
fractal filter mentioned there, but a lot better than the bicubic filter 
and a lot smaller than the fractal jpg :-)

HTH,
__Janko

--------------010303090507090205050101
Content-Type: image/jpeg;
 name="tmp.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="tmp.jpg"

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRof
Hh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwh
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAAR
CAC0Ad0DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAA
AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK
FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWG
h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYk
NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk
5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDjXmGKjZww4pGjbHNR4INecexZId0qCaQG
nSbtpqoSSeaaRLGbdxq7DGcCqwxTxMV71VxIsOhFRihZDJ3pXBWkkDYuw4zUTuBxTWmPQGqj
s+TzTsJsnPzNViEYFVI5VH3ql+1IOhpiuW3HFVnQmgXIYdaYZc1OoCeWSaQ/L1qQOMUx8Hmn
qDY0yCkEgJpMUJGSadhEqyAU4SjNTRWxbtUyWWWxinYZB5gIqF+TWqtgf7tXbXSPMYZWlYfN
YwooGzmrIyBjFdpbaJEqjdHVn+yLPHMfNHIhOocOlyE4Ip325Aw4rp59EiMhKx8VSuNBJUlE
o5A50UYdSjXtVuPUo24xVKPTXifEi960RoszIGRetRyD5kPF6gGaY16jDpSjRrrGNtH9jXIO
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
KKliRqxj5akTrRRTBFuPmriqNo4ooqOoH//Z
--------------010303090507090205050101--