如何显示图像

问题描述 投票:0回答:11

我尝试使用 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'))

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

python opencv matplotlib imshow
11个回答
361
投票

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

%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
img = mpimg.imread('your_image.png')
imgplot = plt.imshow(img)
plt.show()

55
投票

如果您使用

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

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

55
投票

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

执行相同操作
from PIL import Image

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

12
投票

你的第一个建议对我有用

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

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

4
投票

很简单 使用以下伪代码

from pylab import imread,subplot,imshow,show

import matplotlib.pyplot as plt

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

plt.imshow(image)

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


4
投票

使用Jupyter Notebook,代码可以简单如下。

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

有时您可能希望在 for 循环中显示一系列图像,在这种情况下,您可能希望组合

display
Image
来使其工作。

%matplotlib inline
from IPython.display import display, Image
for your_image in your_images:
    display(Image('your_image'))

3
投票

您的代码:

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

您缺少

plt.show()
除非您使用的是 Jupyter 笔记本,否则其他 IDE 不会自动显示绘图,因此每次您想要显示绘图或对现有绘图进行更改时都必须使用
plt.show()
,如下所示上代码。


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

1
投票

任意数量图像的Jupyter笔记本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()

0
投票

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

  1. 安装python3:

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

  3. 安装python所需的库:

    • cd 在终端中打印图像
    • pip3 安装 numpy
    • pip3 安装枕头

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

示例: python3 print_image.py sinchan.jpg

© www.soinside.com 2019 - 2024. All rights reserved.