Python-OpenCV cv2 OpenCV错误:在未知函数,文件.. \ .. \ .. \ modules \ imgproc \ src \ color.cpp中,断言失败(scn == 3 || scn == 4)
image-processing
numpy
opencv
python-2.7
6
0

我正在尝试使用cv2在python中学习轮廓。

我尝试了教程指南中给出的以下代码:

import cv2
import numpy as np
from matplotlib import pyplot as plt

im = cv2.imread('C:\Users\Prashant\Desktop\test.jpg')
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
image, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
img = cv2.drawContour(im, contours, -1, (0,255,0), 3)
cv2.imshow('Image1',img)

我收到此错误:

File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 540, in runfile
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in unknown function, file ..\..\..\modules\imgproc\src\color.cpp, line 3402
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
   execfile(filename, namespace)
 File "C:/Users/Prashant/.spyder2/.temp.py", line 15, in <module>
   imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
 cv2.error: ..\..\..\modules\imgproc\src\color.cpp:3402: error: (-215) scn == 3 || scn == 4
参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

它说您的输入图像在应用功能cv2.cvtColor之前应该具有3或4个通道。

因此,在通过print im.shape应用此功能之前,请检查图像形状。如果结果是“ None type (多数情况下,这就是问题所在),则说明图像未正确加载,很可能是因为您的路径不正确。

关键是您的图像应具有3个维度, rowscolumnsdepth

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号