我想將矩形圖像轉換爲方形圖像。 但是,我有問題。將矩形圖像重新整形爲方形
我的審判Python代碼是在這裏:
from PIL import Image
import numpy as np
im = Image.open('aa.png')
pixMap = im.load()
img = Image.new(im.mode, im.size)
sqrWidth = np.ceil(np.sqrt(im.size[0]*im.size[1])
pixNew = Image.new(im.mode, (im.size[0]*im.size[1], 1))
pixSave = Image.new(im.mode, (sqrWidth, sqrWidth))
k=0
for i in range(img.size[0]):
for j in range(img.size[1]):
pixNew[k] = pixMap[i, j]
k=k+1
k=0
for i in range(sqrWidth):
for j in range(sqrWidth):
pixSave[i, j] = pixNew[k]
k=k+1
im.close()
img.show()
img.save("out.png")
img.close()
我的錯誤是在這裏:
Traceback (most recent call last):
File "rect2square.py", line 13, in <module>
pixNew[k] = pixMap[i, j]
File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 528, in __getattr__
raise AttributeError(name)
AttributeError: __setitem__
有什麼不對?
不,這不是我想要的..我的目標不是一個拉伸但重新數據序列。非常感謝〜。 –
數據序列重塑的含義是什麼? – Robbie
像這樣:[1234,5678] - > [123,456,780] ...與零填充的正方形。謝謝。 –