我尝试在OoenCV中使用Hough变换从图像中检测圆

2024-07-03 06:05:52 发布

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

import cv2
import numpy as np
import time 
img = cv2.imread('img.jpg',0)

ccimg=cv2.Canny(img,100,100)
cv2.imwrite("image.jpg",ccimg)

image=cv2.imread('image.jpg',0)
image = cv2.bilateralFilter(image,9,75,75)
cv2.imshow('Canny[enter image description here][1]',image)


circles = cv2.HoughCircles(image,cv2.HOUGH_GRADIENT,1,20,
                        param1=50,param2=30)

circles = np.uint16(np.around(circles))
print circles
for i in circles[0,:]:
    cv2.circle(img,(i[0],i[1]),i[2],(0,255,0),2)

cv2.imshow('detected circles',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

所以基本上我要做的是读取一幅图像,将其转换为canny图像,然后我使用canny图像作为Hough Gradient参数


Tags: 图像imageimportnumpyimgasnpcv2