python滑动条来设置阈值houghcircle_像素操作后python opencv HoughCircles错误

使用Python的OpenCV库进行圆形检测时,通过滑动条设置阈值以改进HoughCircles参数。在尝试将图像像素值改为蓝色并重新检测时遇到错误:'AttributeError: rint'。问题可能与numpy版本或类型转换有关。
摘要由CSDN通过智能技术生成

def detect_circles():

img = cv2.imread('img.JPG', 0)

#img = cv2.medianBlur(img, 3)

#cim= cv2.GaussianBlur(img, (15, 15), 0)

cimg = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)

circles = cv2.HoughCircles(img, cv2.cv.CV_HOUGH_GRADIENT, 1, 30,param1=100,param2=39,minRadius=25,maxRadius=70)

circles = np.uint16(np.around(circles))

count = 0

for i in circles[0, :]:

count = count + 1

# draw the outer circle

cv2.circle(cimg, (i[0], i[1]), i[2], (0, 255, 0), 2)

# draw the center of the circle

cv2.circle(cimg, (i[0], i[1]), 2, (0, 0, 255), 3)

cv2.imwrite('circles_detected.JPG', cimg)

print(count)

此函数用于检测图像中的圆。

它工作正常,但我需要区分颜色。

所以我写了一个函数,将每个像素的G和R值设置为0。在

^{pr2}$

当我尝试用蓝色像素图像检测圆圈时,我收到以下错误消息:Traceback (most recent call last):

File "/home/user/Documents/workspace/ImageProcessing/Main.py", line 107, in

detect_circles();

File "/home/user/Documents/workspace/ImageProcessing/Main.py", line 94, in detect_circles

circles = np.uint16(np.around(circles))

File "/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py", line 2610, in around

return _wrapit(a, 'round', decimals, out)

File "/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py", line 43, in _wrapit

result = getattr(asarray(obj), method)(*args, **kwds)

AttributeError: rint

以前有人碰过这个吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值