在python中读取图像

时间:2018-02-11 09:02:38

标签: python image scipy

我正在尝试在python中读取png图像。 imread中的scipy功能为deprecated,他们建议使用imageio库。

但是,我宁愿将我对外部库的使用限制在scipynumpymatplotlib库。因此,使用imageioscikit image对我来说不是一个好选择。

python或scipynumpymatplotlib中是否有任何方法可以读取未被弃用的图像?

9 个答案:

答案 0 :(得分:17)

使用matplotlib可以使用(如matplotlib documentation中所示)

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

img=mpimg.imread('image_name.png')

如果需要,可以绘制图像

imgplot = plt.imshow(img)

答案 1 :(得分:4)

您也可以像这样使用Pillow

from PIL import Image
image = Image.open("image_path.jpg")
image.show()

答案 2 :(得分:2)

为获得更好的答案,可以使用以下代码行。 这是示例,可能会帮助您:

image = cv2.imread('/home/pictures/1.jpg')
plt.imshow(image)
plt.show()

imread() 中,您可以传递目录。因此,您也可以使用str()+来组合动态目录和固定目录,如下所示:

path = '/home/pictures/'
for i in range(2) :
    image = cv2.imread(str(path)+'1.jpg')
    plt.imshow(image)
    plt.show()

两者都一样。

答案 3 :(得分:1)

  

如果您只想使用指定的读取Python中的图像   仅限图书馆,我将使用matplotlib

在matplotlib中:

import matplotlib.image
read_img = matplotlib.image.imread('your_image.png')

答案 4 :(得分:0)

enter code here

在jupyter中通过警告消息建议使用'matplotlib.pyplot.imread'。

答案 5 :(得分:0)

来自documentation

  

Matplotlib只能本地读取PNG。通过对枕头的可选依赖关系,可以支持其他图像格式。

因此,对于PNG,我们可以使用plt.imread()。在其他情况下,最好直接使用Pillow

答案 6 :(得分:0)

您可以尝试像这样使用cv2

import cv2

image= cv2.imread('image page')

cv2.imshow('image', image)

cv2.waitKey(0)

cv2.destroyAllWindows()

答案 7 :(得分:0)

我阅读了所有答案,但我认为最好的方法之一是使用openCV库。

import cv2

img = cv2.imread('your_image.png',0)

要显示图像,请使用以下代码:

from matplotlib import pyplot as plt
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.show()

答案 8 :(得分:0)

简便

从IPython.display导入图像

图片(文件名=“ Covid.jpg”大小)