MatlabCode

本站所有资源均为高质量资源,各种姿势下载。

您现在的位置是:MatlabCode > 资源下载 > 仿真计算 > 用hough变换检测圆的程序

用hough变换检测圆的程序

资 源 简 介

hough变换是检测直线&圆的很高的工具,这里是用hough变换检测圆的程序

详 情 说 明

虽然Hough变换是检测直线和圆的很强大的工具,但它并不是万能的。因此,在使用Hough变换之前,必须确保对图像进行了适当的预处理,以便提高检测的准确性。此外,使用Hough变换检测圆时,还需要了解圆的半径范围,这对于特定应用程序非常重要。以下是使用Hough变换检测圆的示例程序,它可以作为您的参考,以便更好地理解Hough变换的应用。

```

import cv2

import numpy as np

img = cv2.imread('circle.jpg',0)

img = cv2.medianBlur(img,5)

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

circles = cv2.HoughCircles(img,cv2.HOUGH_GRADIENT,1,20,

param1=50,param2=30,minRadius=0,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],(0,255,0),2)

# draw the center of the circle

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

cv2.imshow('detected circles',cimg)

cv2.waitKey(0)

cv2.destroyAllWindows()

```