无法读取图片列表 cv2.imread()
Cannot read a list of pictures cv2.imread()
我是编程新手,想用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 文件列表,我可以打印列表,但是当我打印(imgs)时,我无法用 cv2.imread() 读取它们,我有 "None"-s.
(我没能用 glob2 做到这一点。它在当前目录下工作得很好,但我不能用 filedialog 做到这一点。)
希望有人能帮忙
提前致谢!
您正在 loaded_pics
中构建文件名列表。但这不包括目录名称 file_path
。所以当你调用imread
时,你的图像实际上位于file_path/filename
,但你只是传递filename
。所以cv2找不到你的文件,returns None
.
我是编程新手,想用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 文件列表,我可以打印列表,但是当我打印(imgs)时,我无法用 cv2.imread() 读取它们,我有 "None"-s.
(我没能用 glob2 做到这一点。它在当前目录下工作得很好,但我不能用 filedialog 做到这一点。)
希望有人能帮忙
提前致谢!
您正在 loaded_pics
中构建文件名列表。但这不包括目录名称 file_path
。所以当你调用imread
时,你的图像实际上位于file_path/filename
,但你只是传递filename
。所以cv2找不到你的文件,returns None
.