我正在尝试使用以下代码通过openCv检测图像中的圆圈:
import cv2
import numpy
im = cv2.imread('/home/elessar/bottle .jpg')
gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
blur = cv2.medianBlur(gray, 5)
circles = cv2.HoughCircles(blur, cv2.HOUGH_GRADIENT, 1.5, 10, param1 = 100, param2 = 100 ,minRadius = 20, maxRadius = 60)
circles = np.uint16(np.around(circles))
for i in circles[0, :]:
cv2.circle(im, (i[0], i[1]), i[2], (255,0,0), 2)
cv2.circle(im, (i[0], i[1]), 2, (0,255,0), 5)
cv2.imshow('detected_circle', im)
cv2.waitKey(0)
cv2.destroyAllWindows()
我收到此错误:
“ NoneType”对象没有属性“ rint”
该如何解决?
答案 0 :(得分:0)
cv2.HoughCircles
(circles
)的结果为None
。您应该处理找不到圆的情况。