Hough Circles开放式CV

2024-10-03 11:12:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我当前正在使用HoughCirclescomputer-vision上,但我无法使其正常工作。 如何解决这个错误?在

Error : 
'Traceback (most recent call last):  
  File "F:\TIPE ENTROPIE\Programmation\Iris-Recognition-master\Iris   Code\norm.py", line 82, in <module>  
    extract_iris(img)  
  File "F:\TIPE ENTROPIE\Programmation\Iris-Recognition-master\Iris   Code\norm.py", line 53, in extract_iris  
    cord     = get_circle(img, 35, 0, 50, 40)  
  File "F:\TIPE ENTROPIE\Programmation\Iris-Recognition-master\Iris   Code\norm.py", line 14, in get_circle  
    circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT,1,20,   param1=p1,param2=p2,minRadius=minR,maxRadius=maxR)  
cv2.error: C:\projects\opencv-python\opencv\modules\imgproc  \src\hough.cpp:1494: error: (-215) !_image.empty() && _image.type() == (((0)   & ((1 << 3) - 1)) + (((1)-1) << 3)) && (_image.isMat() || _image.isUMat()) in   function cv::HoughCircles`  

这是我的代码:

^{pr2}$

更新: 新错误:

Traceback (most recent call last):
  File "F:\TIPE ENTROPIE\Programmation\essai.py", line 80, in <module>
    extract_iris(img)
  File "F:\TIPE ENTROPIE\Programmation\essai.py", line 49, in extract_iris
    cord    = get_circle(cimg, 35, 0, 50, 40)
  File "F:\TIPE ENTROPIE\Programmation\essai.py", line 8, in get_circle
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.error: C:\projects\opencv-python\opencv\modules\imgproc\src\color.cpp:11111: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

Tags: inpyirisimggetlineextracterror
2条回答

Error 215表示图像在给定的颜色转换中格式不正确。在

scn == 3 || scn == 4表示{}不是{}所需的3通道或4通道图像。在

请补充

print img.shape并查看第3个值是否为1,而不是3。这可能是错误的原因。在

正如@jeru luke在评论中所说,您应该在调用cv2.HoughCircles()之前添加{}:

def get_circle(img, minR, maxR, p1, p2):
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # <      - Here

    circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT,1,20, param1=p1,param2=p2,minRadius=minR,maxRadius=maxR)
    circles = np.uint16(np.around(circles))

COLOR_BGR2GRAY和非COLOR_GRAY2BGR

更新:

在第二次调用get_circle之前添加nimg = cv2.cvtColor(nimg, cv2.COLOR_GRAY2BGR)

更新2

^{pr2}$

结果:

enter image description here

相关问题 更多 >