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

OpenCV错误:使用findContours()方法时不支持格式

万俟亦
2023-03-14

我试图对我的图像进行预处理,以便最终从预处理后的图像中找到轮廓。

img = cv2.imread('image.jpg',0)
img = cv2.copyMakeBorder(img, 50, 50, 50, 50, cv2.BORDER_CONSTANT)   
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5)
_,contours, hierarchy = cv2.findContours(sobely,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

它给了我一个错误说明:OpenCV错误:cvStartFindContours中不支持的格式或格式组合([Start]FindContours在模式下仅支持CV_8UC1图像!=CV_RETR_FLOODFILL,否则仅支持CV_32SC1图像)

我用的是opencv3.0

共有1个答案

甄成弘
2023-03-14

非常直截了当。您的图像应该是理想的二进制和CV_8UC1。您必须将图像转换为CV_8UC1格式才能处理轮廓。等高线不支持CV_64F双精度类型。

 类似资料:
  • 试图在二进制图像上运行findContour” thorws错误: 有什么想法吗?谢啦

  • 问题内容: 我正在执行一个简单的preparestatement查询执行,并抛出此错误:java.sql.SQLException:net.sourceforge.jtds.jdbc.JtdsPreparedStatement.notSupported的这种类型的语句不支持使用executeQuery(string)方法(net.sourceforge.jtds.jdbc.JtdsPrepared

  • 我正在尝试json解析,但当解析时,然后给出错误httppost方法不受此网址支持,我在这里放下我的代码 http://ajax.googleapis.com/ajax/services/search/local?v=1.0 Jsonparsersearch.java 公共类JsonParserSearch { static InputStream is = null;静态JSONObject j

  • 我试图使用cv::distanceTransform()函数,但在运行时出现以下错误: OpenCV错误:cvDistTransform中不支持的格式或格式组合(源图像必须为8uC1,距离贴图必须为32fC1(或在简单L1距离变换的情况下为8uC1)), 然而,我的输入垫似乎确实是CV_8U(其类型=16,深度=0,通道=3)。我的输出垫声明为CV_32FC1。违规代码: 谢谢你的帮助!

  • 我得到以下错误:归档条目是使用不支持的压缩方法压缩的。我要解码以下gzip压缩的base64字符串,下面是字符串: 这和问题有关吗? 下面是我的代码:

  • 我工作在python在openCV 3.0.为了找到最大的白色像素区域,首先将阈值灰度图像转换为二值图像。 但它显示错误如下。 cv2。错误:/opencv/modules/imgproc/src/等高线。cpp:198:错误:(-210)[Start]FindContours在模式下仅支持CV_8UC1图像!=CV_RETR_FLOODFILL仅在函数cvStartFindContours中支持