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

时间:2017-02-04 16:07:59

标签: 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.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。)

我希望有人可以提供帮助。

提前致谢!

1 个答案:

答案 0 :(得分:2)

您正在loaded_pics中构建文件名列表。但是,这不包括目录的名称file_path。因此,当您致电imread时,您的图片实际上位于file_path/filename,但您只是通过filename。所以cv2找不到你的文件,并返回None