很明显,错误消息是类型错误,但在我打印时,输出为“ 无 ”。
我寻找了一个错误,因为它不是一个Numpy数组,所以我将其转换为Numpy数组。
此外,我尝试读取具有相对或绝对路径的变量。
Img_Folder = os.path.join(os.getcwd(), 'Photo', 'GMD Miss')
File_List = os.listdir(Img_Folder)
img = Img_Folder + File_List[0]
img = np.array(img)
img = cv2.imread(img)
cv2.imshow('img', img)
cv2.waitkey(0)
cv2.destroyAllWindows()
因此,我收到了此错误消息。
TypeError:参数'mat'的预期cv :: UMat
答案 0 :(得分:0)
您的代码有很多问题。主要问题(问题所在)来自以下行:img = np.array(img)
。您正在文件路径之外构建 np 数组(没有意义),然后将其传递给 imread 。
您应该:
示例:
>>> import os >>> import cv2 >>> >>> img_file_name = os.path.join(os.getcwd(), "..\\..\\c", "2160-0.jpg") >>> img_file_name # Make sure that the path contains all the path separators (which doesn't happen in your case, as the last one is missing, because of: `img = Img_Folder + File_List[0]`) 'C:\\WINDOWS\\system32\\..\\..\\c\\2160-0.jpg' >>> >>> img = cv2.imread(img_file_name) >>> type(img), img.shape (<class 'numpy.ndarray'>, (316, 647, 3)) >>> >>> cv2.imshow("Image", img) >>> cv2.waitKey(0) # Capital K >>> >>> cv2.destroyAllWindows() >>>