身份转换在PIL中转换图像

时间:2013-08-12 09:19:07

标签: python python-imaging-library transformation

在用PIL(1.1.7,Portable Python 2.7.5.1,Windows 7)转换图像时,我偶然发现了一个我觉得很奇怪的行为。当使用单位矩阵(1,0,0,0,1,0,0)转换图像时,我希望得到的图像是确切的输入(就像使用OpenCV时一样)。 filter = Image.NEAREST保持为true但不适用于Image.BILINEAR或Image.BICUBIC。图像被翻译到右下角。

import Image
import ImageDraw
im = Image.new('L', (64, 64), 0)
draw = ImageDraw.Draw(im)
draw.line((8,8, 32,8), fill=255)
draw.line((8,8, 8,32), fill=255)
im.save('out1.png')
im = im.transform((64, 64), Image.AFFINE, (1,0,0,0,1,0), Image.BICUBIC)
im.save('out2.png')
im = im.transform((64, 64), Image.AFFINE, (1,0,0,0,1,0), Image.BICUBIC)
im.save('out3.png')
im = im.transform((64, 64), Image.AFFINE, (1,0,0,0,1,0), Image.BICUBIC)
im.save('out4.png')

out1.png out2.png out3.png out4.png

这是否有意(我无法在文档中找到有关此内容的内容。)或值得报告的错误?

1 个答案:

答案 0 :(得分:0)

使用当前版本的Pillow(我现在使用的是5.0.0版本),这似乎是固定的。 :)