如何使用“ np.around”方法解决我的问题?

时间:2019-11-12 20:00:01

标签: python numpy opencv

我正在尝试使用以下代码通过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”

该如何解决?

1 个答案:

答案 0 :(得分:0)

cv2.HoughCirclescircles)的结果为None。您应该处理找不到圆的情况。