使用Python显示图像

时间:2016-02-09 07:50:58

标签: python matplotlib ipython

我尝试将IPython.display与以下代码一起使用:

from IPython.display import display, Image
display(Image(filename='MyImage.png'))

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

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
plt.imshow(mpimg.imread('MyImage.png'))

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

12 个答案:

答案 0 :(得分:84)

如果您正在使用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()

答案 1 :(得分:21)

如果您使用matplotlib,则需要使用plt.show()显示图像,除非您不处于交互模式。 E.g:

plt.figure()
plt.imshow(sample_image) 
plt.show()  # display it

答案 2 :(得分:11)

以更简单的方式,你可以使用

做同样的事情
import Image

image = Image.open('image.jpg')
image.show()

答案 3 :(得分:4)

使用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()

答案 4 :(得分:3)

这对我有用,受到@the_unknown_spirit的启发

from PIL import Image
image = Image.open('test.png')
image.show()

答案 5 :(得分:2)

这很简单 使用以下伪代码

from pylab import imread,subplot,imshow,show

import matplotlib.pyplot as plt

image = imread('...')  // choose image location

plt.imshow(image)

plt.show() //这将在控制台上显示图像。

答案 6 :(得分:1)

具有任意数量图像的 Jupyter notebook PIL 图像可视化解决方案:

def show(*imgs, **kwargs):
    '''Show in Jupyter notebook one or sequence of PIL images in a row. figsize - optional parameter, controlling size of the image.
    Examples:
    show(img)
    show(img1,img2,img3)
    show(img1,img2,figsize=[8,8])
    '''
    
    if 'figsize' not in kwargs:
        figsize = [9,9]
    else:
        figsize = kwargs['figsize']
    
    fig, ax = plt.subplots(1,len(imgs),figsize=figsize)
    if len(imgs)==1:
        ax=[ax]
    
    for num,img in enumerate(imgs):
        ax[num].imshow(img)
        ax[num].axis('off')
        
    tight_layout()

答案 7 :(得分:0)

您的第一个建议对我有用

from IPython.display import display, Image
display(Image(filename='path/to/image.jpg'))

答案 8 :(得分:0)

您的代码:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

应该是什么:

plt.imshow(mpimg.imread('MyImage.png'))
File_name = mpimg.imread('FilePath')
plt.imshow(FileName)
plt.show()

除非您在Jupyter笔记本中,否则您会丢失plt.show(),其他IDE不会自动显示绘图,因此每次要显示绘图或进行更改时都必须使用plt.show()到后续代码中的现有地块。

答案 9 :(得分:0)

import IPython.display as display
from PIL import Image
image_path = 'my_image.jpg'
display.display(Image.open(image_path))

答案 10 :(得分:0)

使用Jupyter Notebook,代码可以像下面这样简单。

%matplotlib inline
from IPython.display import Image
Image('your_image.png')

答案 11 :(得分:-1)

要在python中显示图像,您可以使用我制作的工具。

  1. 安装python3:

    • apt 安装 python3
  2. 克隆存储库:

  3. 安装python所需的库:

    • cd print-image-in-terminal
    • pip3 安装 numpy
    • pip3 安装枕头

用法: python3 print_image.py [图像路径]

示例: python3 print_image.py sinchan.jpg