cv2.imread和os.listdir不起作用

时间:2018-05-10 12:28:46

标签: python opencv

我试图通过文件夹中的图像来进行进一步处理。 我尝试使用此代码只读取文件夹中的一个图像

)

如您所见,第一部分直接读取图像,而第二部分则尝试通过\b读取图像。

问题是第二部分不起作用。它给了我这样的信息:

import cv2  
import os 

img=cv2.imread('/home/hch/Desktop/Database/sample.jpg')
print (img.shape)

for filename in os.listdir('Database') :
    if filename.endswith(".jpg") :
        img=cv2.imread(filename)
        print (img.shape)

当我打印文件名时,它会打印图像名称“sample.jpg”。

你能帮我理解为什么它不起作用吗?

谢谢

1 个答案:

答案 0 :(得分:1)

问题是openCv无法打开图片。 图片位于“数据库”目录中,但您的脚本不是从那里触发的。

你走的是错误的道路。

适当的路径是:

img=cv2.imread(os.path.join('Database',filename))