Python, нахождение кругов в изображении - PullRequest
0 голосов
/ 12 марта 2020

Я использую cv2.HoughCircles в Python, пытаясь обнаружить круги на следующем изображении. изображение

вот мой код:


import matplotlib.pyplot as plt
import cv2
import numpy as np

image = cv2.imread("image.png")
output = image.copy()
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1.5, 10, param1=20, param2=60, minRadius=0, maxRadius=40)
print(circles)
if circles is not None:
    circles = np.round(circles[0, :]).astype("int")
    for (x, y, r) in circles:
        cv2.circle(output, (x, y), r, (0, 255, 0), 4)
        cv2.rectangle(output, (x - 3, y - 3), (x + 3, y + 3), (0, 128, 255), -1)
    plt.subplot(121), plt.imshow(image, cmap="gray"), plt.title("corners")
    plt.xticks([]), plt.yticks([])
    plt.subplot(122), plt.imshow(output, cmap="gray"), plt.title("corners")
    plt.xticks([]), plt.yticks([])
    plt.show()

обнаруженные круги

есть понимание того, почему он не обнаруживает круги?

прикрепление изображения кругов, которые я хотел бы обнаружить. я хотел бы обнаружить столько кругов, сколько красных на следующем изображении. пример кругов, которые я хотел бы обнаружить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...