python中圆检测为什么出现如下错误?
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(True):
ret, frame=cap.read()
gray_img = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
img = cv2.medianBlur(gray_img, 5)
circles = cv2.HoughCircles(img,cv2.cv.CV_HOUGH_GRADIENT,
1,410,param1=100,param2=30,minRadius=15,maxRadius=25)
circles = np.uint16(np.around(circles))
for i in circles[0,:]:
cv2.circle(frame,(i[0],i[1]),i[2],(0,255,0),2)
cv2.circle(frame,(i[0],i[1]),2,(0,0,255),3)
cv2.imshow("HoughCirlces", frame)
if cv2.waitKey(97) == ord('a'):
break
cv2.destroyAllWindows()
cap.release()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
中minRadius,与maxRadius限制太苛刻,一旦未捕获到圆,circles为空,后面运算会出错。
改为minRadius=0,maxRadius=0