Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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 无法读取图片列表cv2.imread()_Python_Opencv_Listdir_Cv2 - Fatal编程技术网

Python 无法读取图片列表cv2.imread()

Python 无法读取图片列表cv2.imread(),python,opencv,listdir,cv2,Python,Opencv,Listdir,Cv2,我是编程新手,我想用gui制作一个图片大小调整器。 我在制作gui方面有问题。 我抓住了代码中有问题的部分: from tkinter import * from tkinter import filedialog import os, backend, glob2, cv2 loaded_pics=[] picture_read=[] window = Tk() browsed_dir = StringVar() browsed_dir.set(filedialog.askdirecto

我是编程新手,我想用gui制作一个图片大小调整器。 我在制作gui方面有问题。 我抓住了代码中有问题的部分:

from tkinter import *
from tkinter import filedialog
import os, backend, glob2, cv2

loaded_pics=[]
picture_read=[]
window = Tk()

browsed_dir = StringVar()

browsed_dir.set(filedialog.askdirectory(initialdir="/",title='Please select a directory'))
file_path = browsed_dir.get()#+"/"

for filename in os.listdir(file_path):
    if filename.endswith(('.jpg', '.jpeg', '.gif', '.png')):
        loaded_pics.append(filename)
print(loaded_pics)

try:
    for images in loaded_pics:
        imgs = cv2.imread(images, 1)
        print(imgs)
except:
    print("ERROR")


window.destroy()
window.mainloop()
因此,我有一个.png/.jpg/.bmp文件列表,我可以打印该列表,但我不能用cv2.imread()读取它们,当我打印(imgs)时,我得到了“无”-s

(我还没有用glob2做到这一点。它在当前目录下工作得很好,但我不能用filedialog做到。)

我希望有人能帮忙


提前谢谢

您正在加载的图片中构建文件名列表。但这不包括目录名,
file\u path
。因此,当您调用
imread
时,您的图像实际上位于
文件路径/文件名
,但您只传递
文件名
。因此cv2找不到您的文件,并返回
None

嗯,可能是文件路径的问题。我认为有两种可能性。由于opencv imread不支持图像的文件格式,因此无法读取图像(如果将emf文件保存为png或其他格式,则可能会发生这种情况)。或者您的文件名或文件夹名有问题。它可能包含无法正确解释的非ASCII字符。解决方案是[没有“Image.open”