Обнаружение Cirlce Без Хоу

#python #opencv #detection

Вопрос:

я использовал преобразование Circle Hough для обнаружения кругов на этом изображении , используя этот код на python , но теперь я хочу обнаружить круги с помощью другого метода , есть ли какой-либо другой метод обнаружения круга, кроме преобразования circle Hough

 
import cv2
import numpy as np

img = cv2.imread("Resources/coin0.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
blur= cv2.medianBlur(gray, 5)
# center


dp=1.1
minDis=10
param1=150
param2=40
minRadius=0
maxRadius=0

circles = cv2.HoughCircles(blur, cv2.HOUGH_GRADIENT, dp, minDis,
                        param1 =param1, param2 =param2, minRadius = minRadius, maxRadius = maxRadius)

circles = np.uint16(np.around(circles))
for i in circles[0, :]: ## Draw circle on the circles

 #  draw   the    outer  circle
 cv2.circle(img, (i[0], i[1]), i[2], (0, 255, 0),2)
 #  draw   the    center of the    circle
 cv2.circle(img, (i[0], i[1]), 2, (0, 0, 255),2)





cv2.imshow("Image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()



 

введите описание изображения здесь

Комментарии:

1. Используйте каждую монету по одной за раз в качестве своего собственного изображения. Затем нарисуйте ограничивающий круг. Видишь docs.opencv.org/4.1.1/d3/dc0/…

2. @fmw42 Я имел в виду, что мне нужен другой подход или алгоритм для обнаружения кругов, помимо CHT, мне нужно реализовать его на Python . у тебя есть идея ?

3. Я сделал предложение выше. Порог каждой монеты по одной за раз. Тогда просто получить минимальный окружающий круг.