Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python读取图像_Python_Image_Scipy - Fatal编程技术网

用python读取图像

用python读取图像,python,image,scipy,Python,Image,Scipy,我正在尝试阅读python中的png图像。scipy中的imread功能正在运行,他们建议使用imageio库 但是,我宁愿将外部库的使用限制在scipy、numpy和matplotlib库。因此,使用imageio或scikit image对我来说不是一个好选择 python或scipy、numpy或matplotlib中是否有任何方法可以读取图像,这些方法没有被弃用?可以使用matplotlib(如matplotlib中所示) 如果你想的话,画一张图 imgplot = plt.imshow

我正在尝试阅读python中的
png
图像。
scipy
中的
imread
功能正在运行,他们建议使用
imageio

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


python或
scipy
numpy
matplotlib
中是否有任何方法可以读取图像,这些方法没有被弃用?

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

如果你想的话,画一张图

imgplot = plt.imshow(img)
如果您只想使用指定的 仅限库,我将使用
matplotlib

在matplotlib中:

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

为了得到更好的答案,您可以使用以下代码行。 以下是可能对您有所帮助的示例:

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()
from PIL import Image
image = Image.open("image_path.jpg")
image.show()
两者都是相同的。

您也可以这样使用:

path = '/home/pictures/'
for i in range(2) :
    image = cv2.imread(str(path)+'1.jpg')
    plt.imshow(image)
    plt.show()
from PIL import Image
image = Image.open("image_path.jpg")
image.show()
jupyter中的警告消息建议使用“matplotlib.pyplot.imread”。

来自:

Matplotlib只能本机读取PNG。通过枕头上的可选依赖项支持更多图像格式


因此,对于
PNG
的情况,我们可以使用
plt.imread()
。在其他情况下,直接使用
枕头可能更好。

您可以尝试这样使用cv2

导入cv2
image=cv2.imread('图像页')
cv2.imshow(“图像”,图像)
cv2.等待键(0)
cv2.destroyAllWindows()

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

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

简易方法

从IPython.display导入图像


Image(filename=“Covid.jpg”size)

如果我想创建一个for循环,以1×1打开文件夹中的所有图像,我将如何使用上述方法?Thanks@OscarDolloway我希望能对你有所帮助。但它是有效的,因为:“如果没有给出,格式是从文件名推导出来的。如果无法推导,则尝试使用PNG。”()