当前位置: 首页 > 知识库问答 >
问题:

函数“cvGetMat”中的OpenCV(4.2.0)(-206:错误标志(参数或结构字段))无法识别或不支持的数组类型

于飞飙
2023-03-14

我试图在8000x4000图像和8000x4000二进制掩码,但得到以下错误。

1 img=cv中的错误回溯(最近一次调用上次)。imread('input/200130_033344133.jpg')2 mask=cv。imread('resources/maskX.png',0)----

错误: OpenCV(4.2.0)C:\项目\opencv-python\opencv\模块\core\src\array.cpp:2492:错误:(-206:坏标志(参数或结构字段))函数'cvGetMatt'中无法识别或不支持的数组类型

这是我的代码。我尝试的是将图像和掩码转换为Numpy数组或cv2。Umata但都是徒劳的

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()

为什么它不起作用?图像加载正确,我检查过了。

共有2个答案

丁鸿信
2023-03-14

我在试图修复时也犯了同样的错误。

error: (-206:Bad flag (parameter or structure field)) Unrecognized or unsupported array type in function 'cvGetMat'

然后我意识到我输入的掩码格式不正确,而不是。jpg我写了。png。所以cv2。imread()正在加载一个空矩阵。当我修正打字错误时,错误就消失了。

因此,请再次检查您的输入图像和掩码名称和格式。

我认为这个错误是图像无法正确加载的标志。

真的,埃内斯

有德业
2023-03-14

我不知道出了什么问题,因为它在Python3.7和MacOSX上的OpenCV 3.4上运行良好。

你导入简历了吗?制作灰度后,遮罩是否超过1个通道?也许这是OpenCV 4的一个问题?

这是对我有用的。

有划痕的图像:

刮擦面膜:

import cv2

img = cv2.imread('zelda1_scratch.jpg')
mask = cv2.imread('zelda1_scratch_mask.png',0)
dst = cv2.inpaint(img,mask,3,cv2.INPAINT_TELEA)
cv2.imwrite('zelda1_scratch_inpainted.jpg', dst)
cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果:

 类似资料:
  • 运行<code>multimed</code>函数时出错:<code>参数不是数字或逻辑:返回NA</code>。我可以从运行示例代码,但不能运行我自己的数据集或“假”数据集(见下文)。不确定问题出在哪里-这是数据设置中的错误?还是代码本身的错误? 感谢您的任何帮助。 由reprex包(v2.0.1)于2022-05-18创建

  • 问题内容: NumPy“结构化数组”,“记录数组”和“ recarray”之间的区别是什么? 该NumPy的文档 暗示,前两个是相同的:如果是这样,这是该对象的首选术语? 同样的文件说,(在页面的底部):你可以找到关于recarrays和结构化阵列(包括两者之间的区别)一些更多的信息在这里。是否有对此差异的简单解释? 问题答案: 记录/记录数组在 https://github.com/numpy/

  • 我试图记录iOS自动测试使用Appium检查员的指令使用教程... http://www.youtube.com/watch?v=Hv9A9WfYF4g 我的应用程序在工作区中。我使用iphonesimulator7.0构建了它,它显示了一条Success消息,然后在appium inspector上正确设置了构建应用程序的路径。但当我单击“启动”时,它会显示错误。 在它的控制台上..知道可能是什

  • 问题内容: 运行以下代码时出现错误: 输出为: 有什么问题? 问题答案: 该方法应命名为构造函数,而不是。(请注意双下划线。) 如果使用单个下划线,则只需创建一个名为的方法,然后获取一个不带参数的默认构造函数。

  • 我试图从我的jar启动另一个Java进程,我使用的是ProcessBuilder: 错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。无法识别的选项:-类路径“C:\absoulte\path\library.jar;C:\absoulte\path2\library2.jar;C:\absoulte\path3\library3.jar”