長方形の画像を正方形の画像に変換したいと思います。 しかし、私には問題があります。長方形の画像を正方形に再構成する
マイトライアル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] ...ゼロパディングを持つ正方形に。ありがとう。 –