我是编程新手,我想用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。)
我希望有人可以提供帮助。
提前致谢!
答案 0 :(得分:2)
您正在loaded_pics
中构建文件名列表。但是,这不包括目录的名称file_path
。因此,当您致电imread
时,您的图片实际上位于file_path/filename
,但您只是通过filename
。所以cv2找不到你的文件,并返回None
。