【发布时间】:2017-07-25 10:41:20
【问题描述】:
我有一张图像,我正在尝试将霍夫圆变换应用于视图中的圆形对象。
我很难找到适合圆柱体外部阴影的圆圈。可以做些什么来正确分割这个阴影并轻松地将一个圆圈适合它?
代码:
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()
【问题讨论】:
-
你的意思是图片顶部的“新月”区域?
-
是的——图像上半部分的暗影。
-
能否提供输入图片?
-
试试minEnclosingCircle。有关示例,请参见 here。
-
可以不加坐标轴和alpha通道的原图吗?
标签: python opencv geometry hough-transform