#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. Я сделал предложение выше. Порог каждой монеты по одной за раз. Тогда просто получить минимальный окружающий круг.