使用Python显示图像

FiR*_*iTi 53 python matplotlib ipython

我尝试使用IPython.display和以下代码:

from IPython.display import display, Image
display(Image(filename='MyImage.png'))
Run Code Online (Sandbox Code Playgroud)

我还尝试使用matplotlib以下代码:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
plt.imshow(mpimg.imread('MyImage.png'))
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,都不显示任何内容,甚至不显示错误消息.

Joe*_*elt 123

如果您正在使用matplotlib并想要在交互式笔记本中显示图像,请尝试以下操作:

%pylab inline
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
img=mpimg.imread('your_image.png')
imgplot = plt.imshow(img)
plt.show()
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的回答,现在它完美无缺!只是潜在读者的一些细节,它"灰色"而不是"灰色". (4认同)
  • 您可以避免使用“matplotlib.image”:img = plt.imread('your_image.png') (3认同)
  • 尝试显式定义色彩映射:plt.imshow(lum_img,cmap ="gray") (2认同)
  • 根据我的理解,最后一个plt.show()命令产生显示.在此之前,您可以添加到绘图中,例如通过向图像添加图层.我推荐使用matplotlib图像教程作为参考:http://matplotlib.org/users/image_tutorial.html (2认同)

Max*_*ers 28

如果使用matplotlib,plt.show()除非未处于交互模式,否则需要使用图像显示.例如:

plt.figure()
plt.imshow(sample_image) 
plt.show()  # display it
Run Code Online (Sandbox Code Playgroud)


the*_*rit 12

以更简单的方式,您可以使用相同的方式

import Image

image = Image.open('image.jpg')
image.show()
Run Code Online (Sandbox Code Playgroud)


小智 9

使用 opencv-python 可以更快地对图像进行更多操作:

import cv2
import matplotlib.pyplot as plt

im = cv2.imread('image.jpg')
im_resized = cv2.resize(im, (224, 224), interpolation=cv2.INTER_LINEAR)

plt.imshow(cv2.cvtColor(im_resized, cv2.COLOR_BGR2RGB))
plt.show()
Run Code Online (Sandbox Code Playgroud)


Har*_*eno 7

你的第一个建议对我有用

from IPython.display import display, Image
display(Image(filename='path/to/image.jpg'))
Run Code Online (Sandbox Code Playgroud)