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()
(对不起,我是新手,所以我不能发送图像作为演示)
为什么(如果你有想法)?
由于 和 之间的原点不一致,您的图像被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()
瞧!
轮换是因为 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'