import os, sys
from PIL import Image
im = Image.open("result_bw.png")
l = []
print im.size
pix = im.load()
for x in range(im.size[0]):
for y in range(im.size[1]):
l.append(pix[x,y])
img = Image.new('L', (im.size[1],im.size[0] ))
img.putdata(l)
img.save('image.png')
以上代码读取黑白图像并将像素值存储在列表中。
当我从列表中存储的像素创建新图像时,我得到逆时针旋转的原始图像。
为什么我会获得旋转图像?
我该如何纠正?
答案 0 :(得分:1)
翻转您阅读的x和y值。计算机在屏幕的左上角写入一个原点,y轴指向下方,x正轴指向右方。您的实现假定左下角有一个原点。
答案 1 :(得分:0)
如果有putdata
,则可能还有getdata
。实际上,你可以使用
l = list(im.getdata())
代替您的for
循环。这也可以解决旋转问题。