我在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
答案 0 :(得分:6)
让我们分析一下:
断言失败(L.channels()== 1&& I.channels()== 1)
传递给某些功能的图像应为1通道(灰色而不是彩色)。
__ extractPlantArea(plant_img)
您的代码恰好发生在名为__extractPlantArea
的函数中。
cv2.connectedComponentsWithStats
当您调用名为connectedComponentsWithStats
的OpenCV函数时。
<强>结论:强>
不要将彩色(BGR)图像传递给connectedComponentsWithStats