在用PIL (1.1.7,PortablePython2.7.5.1,Windows 7)转换图像时,我偶然发现了一种非常奇怪的行为。当使用标识矩阵(1,0,0,0,1,0,0)转换图像时,我希望得到的图像是精确的输入(就像使用OpenCV时一样)。对于filter=Image.NEAREST,则为真,但对于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')




这是故意的吗(我在文档中找不到这方面的东西)。还是值得报告的窃听器?
发布于 2018-02-07 09:14:52
目前版本的枕头(我使用的是ver。5.0.0现在)这似乎是固定的。:)
https://stackoverflow.com/questions/18183437
复制相似问题