当前位置:   article > 正文

Python OpenCV 报错 error: (-215:Assertion failed)_error: (-215:assertion failed) total(srcshape, src

error: (-215:assertion failed) total(srcshape, srcrange.start, srcrange.end)

error: (-215:Assertion failed) !_image.empty() && _image.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) && (_image.isMat() || _image.isUMat()) in function 'cv::HoughCircles'

出现在用Python cv2 实现霍夫圆检测过程中

原代码

  1. img = cv2.imread("pipe.jpg")
  2. circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 5)

出现这种错误,原因是没有正确导入图像

可能原因:

  • 图片路径不正确
  • 路径或文件名有中文
  • 文件数量或格式不符

这里的原因是第三点,经过试验,霍夫圆检测文件输入应为灰度图,所以有以下两种方式:

cv2.imread时flag=0

  1. img = cv2.imread("pipe.jpg", 0)
  2. circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 5)

或者进行灰度转换

  1. img = cv2.imread("pipe.jpg")
  2. gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  3. circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 5)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/494522
推荐阅读
相关标签
  

闽ICP备14008679号