Python OpenCV(4.2.0)(-206:错误标志(参数或结构字段)),函数'中无法识别或不支持的数组类型;cvGetMat';
我试图修复8000x4000图像和8000x4000二进制掩码,但出现以下错误 错误回溯(最近的调用) 最后)在 1 img=cv.imread('input/200130_033344133.jpg') 2 mask=cv.imread('resources/maskX.png',0) ---->3 dst=恒速维修(img,面罩,3,恒速维修) 4 cv.imshow('dst',dst) 5 cv.waitKey(0) 错误:OpenCV(4.2.0) C:\projects\opencv python\opencv\modules\core\src\array.cpp:2492: 错误:(-206:错误标志(参数或结构字段))无法识别或 函数“cvGetMat”中不支持的数组类型 这是我的密码。 我尝试的是将图像和掩码转换为numpy数组或cv2.UMat。但这一切都是徒劳的Python OpenCV(4.2.0)(-206:错误标志(参数或结构字段)),函数'中无法识别或不支持的数组类型;cvGetMat';,python,opencv,image-processing,Python,Opencv,Image Processing,我试图修复8000x4000图像和8000x4000二进制掩码,但出现以下错误 错误回溯(最近的调用) 最后)在 1 img=cv.imread('input/200130_033344133.jpg') 2 mask=cv.imread('resources/maskX.png',0) ---->3 dst=恒速维修(img,面罩,3,恒速维修) 4 cv.imshow('dst',dst) 5 cv.waitKey(0) 错误:OpenCV(4.2.0) C:\projects\opencv
img = cv.imread('input/200130_033344133.jpg')
mask = cv.imread('resources/maskX.png',0)
dst = cv.inpaint(img,mask,3,cv.INPAINT_TELEA)
cv.imshow('dst',dst)
cv.waitKey(0)
cv.destroyAllWindows()
为什么它不起作用?
我检查了图像是否正确加载。我不知道哪里出了问题,因为它在Python 3.7和Mac OSX上的OpenCV 3.4上运行良好 你导入简历了吗?制作灰度后,遮罩是否超过1个通道?也许这是OpenCV 4的一个问题 这是对我有用的 有划痕的图像: 刮膜: 结果:
我在试图修复时也犯了同样的错误
error: (-206:Bad flag (parameter or structure field)) Unrecognized or unsupported array type in function 'cvGetMat'
然后我意识到我输入的掩码格式不正确,而不是.jpg
我写的.png
。因此,cv2.imread()
正在加载一个空矩阵。当我修正打字错误时,错误就消失了
因此,请再次检查您的输入图像和掩码名称和格式
我认为这个错误是图像无法正确加载的标志
真诚地,
埃内斯
error: (-206:Bad flag (parameter or structure field)) Unrecognized or unsupported array type in function 'cvGetMat'