OpenCV错误:在connectedComponents_sub1中断言失败(L.channels()== 1&& I.channels()== 1)

时间:2016-12-21 07:29:38

标签: python python-2.7 opencv opencv3.1 connected-components

我在OpenCV(python)中遇到以下错误,并且搜索了很多但是无法解决。

如果有人能给我提供一些线索,我将不胜感激。

  

OpenCV错误:断言失败(L.channels()== 1&& I.channels()== 1)      在connectedComponents_sub1,file / home / snoopy / opencv-      3.1.0 / modules / imgproc / src / connectedcomponents.cpp,第341行      Traceback(最近一次调用最后一次):      文件“test.py”,第30行,in      plant = analyzeplant.analyzeSideView(plant)      文件“/ home / snoopy / Desktop / Leaf-201612 / my-work-      在analyzeSideView中编辑/ ripps / src / analyzePlant.py“,第229行      plant_img = self .__ extractPlantArea(plant_img)      文件“/ home / snoopy / Desktop / Leaf-201612 / my-work-      在__extractPlantArea中编辑/ ripps / src / analyzePlant.py“,第16行      output = cv2.connectedComponentsWithStats(plant,4,cv2.CV_32S)      cv2.error:/ home / snoopy / opencv-      3.1.0 / modules / imgproc / src / connectedcomponents.cpp:341:错误:(-215)> L.channels()== 1&&函数中的I.channels()== 1      connectedComponents_sub1

1 个答案:

答案 0 :(得分:6)

让我们分析一下:

  

断言失败(L.channels()== 1&& I.channels()== 1)

传递给某些功能的图像应为1通道(灰色而不是彩色)。

  

__ extractPlantArea(plant_img)

您的代码恰好发生在名为__extractPlantArea的函数中。

  

cv2.connectedComponentsWithStats

当您调用名为connectedComponentsWithStats的OpenCV函数时。

<强>结论:

不要将彩色(BGR)图像传递给connectedComponentsWithStats