有一个bmp图像,如下图所示的第一张图片,其信息列表为下面的第二张图片.但是当在IPython-notebook上使用matplotlib的plt.imshow()函数显示时,它的颜色错误,正如第三张图片所示.所以我能知道原因吗?
谢谢!



原始文件已在dropbox上共享https://dl.dropboxusercontent.com/u/26518813/test2.bmp
在IPython-notebook上显示图像的代码是:
%pylab inline --no-import-all
from PIL import Image
plt.imshow(Image.open("./test/test2.bmp"))
Run Code Online (Sandbox Code Playgroud) 我在 matplotlib 的子图中显示 OpenCV 图像时遇到问题
#Read random images from multiple directories
import random
animals = os.listdir('signs/train')
sample_images = []
for a in animals:
dirname = 'signs/train/' + a
files = random.sample(os.listdir(dirname), 5)
files = [dirname + '/' + im for im in files]
sample_images.extend(files)
del files, dirname, animals
print(sample_images)
# Output: ['signs/train/rooster/00000327.jpg', 'signs/train/rooster/00000329.jpg', 'signs/train/rooster/00000168.jpg', ..., 'signs/train/rooster/00000235.jpg', 'signs/train/rooster/00000138.jpg']
#Read using OpenCV and show in matplotlib's subplots
fig, ax = plt.subplots(12, 5,figsize=(15,15), sharex=True)
for idx, si in enumerate(sample_images):
i = idx % …Run Code Online (Sandbox Code Playgroud)