PIL Image.open.convert(L) は私に奇妙な結果をもたらします:
from PIL import Image
test_img = Image.open('test.jpg').convert('L')
imshow(test_img)
show()
- 画像を回転させます(?)
- Lに変換しない(?)
(申し訳ありませんが、私は新しいので、デモンストレーションとして画像を送ることができません)
なぜ(アイデアがある場合)?
PIL Image.open.convert(L) は私に奇妙な結果をもたらします:
from PIL import Image
test_img = Image.open('test.jpg').convert('L')
imshow(test_img)
show()
(申し訳ありませんが、私は新しいので、デモンストレーションとして画像を送ることができません)
なぜ(アイデアがある場合)?
ローテーションは、PIL と matplotlib が同じ規則を使用していないためです。test_img.show() を実行すると、画像は回転しません。または、matplotlib で表示する前に、画像を numpy 配列に変換することもできます。
imshow(np.asarray(test_img))
.convert('L') メソッドに関しては、それは私のために働きます:
test_img = Image.open('test.jpg').convert('L')
print test_img.mode
# 'L'
と の間で原点が一致しないため、イメージが回転されImage
て いpylab
ます。このスニペットを使用すると、画像は上下逆に回転しません。
import pylab as pl
import Image
im = Image.open('test.jpg').convert('L')
pl.imshow(im, origin='lower')
pl.show()
ただし、画像は白黒では表示されません。そのためには、グレースケール カラーマップを指定する必要があります。
import pylab as pl
import Image
import matplotlib.cm as cm
im = Image.open('test.jpg').convert('L')
pl.imshow(im, origin='lower', cmap=cm.Greys_r)
pl.show()
ほら!