我有一张图片,想要对其中的圆形对象应用Hough圆变换。
我发现很难找到适合圆柱体外侧阴影的圆。有什么方法可以正确地分割这个阴影并轻松地将其拟合成一个圆吗?
代码:
img = cv2.medianBlur(im,7)
cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
plt.imshow(cimg)
plt.show()
circles = cv2.HoughCircles(img,cv2.HOUGH_GRADIENT,1,20,
param1=50,param2=150,minRadius=100,maxRadius=0)
circles = np.uint16(np.around(circles))
for i in circles[0,:]:
# draw the outer circle
cv2.circle(cimg,(i[0],i[1]),i[2],(255,0,0),10)
# draw the center of the circle
cv2.circle(cimg,(i[0],i[1]),2,(0,0,255),20)
radius = i[2]
print 'radius', radius, 'px'
plt.imshow(cimg)
plt.show()