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

2024-10-03 15:34:10 发布

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

我尝试使用以下代码检测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' object has no attribute 'rint'

我该怎么做才能解决这个问题


Tags: 代码图像importnumpyhomenpcv2opencv