다양한 OpenCV 필터를 사용하여 흑백 마스크를 만들었습니다. 이 명확하게 내가 HoughCircles를 사용하여 이러한 원을 간략하게 설명하려고 Python OpenCV가 흑백 마스크에서 원을 감지합니다.
볼 수 있습니다 네 개의 원이 있지만, 그것은 많은 거짓 긍정과 일반적으로 나쁜 결과를 제공합니다
circles = cv2.HoughCircles(combined, cv.CV_HOUGH_GRADIENT, 1, 300, np.array([]), 10, 30, 60, 300)
어떻게을 흑백 이미지에서 원형 모양을 올바르게 감지합니까? 여기
은 흑백 이미지와 함께 사용할 수있는 실행 가능한 코드입니다 : 내가 잘못 아니에요 경우 모든import numpy as np
import cv2
import cv
image = cv2.imread("image.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(gray, cv.CV_HOUGH_GRADIENT, 1, 300, np.array([]), 10, 30, 60, 300)
if circles is not None:
circles = np.uint16(np.around(circles))
for i in circles[0,:]:
cv2.circle(image, (i[0], i[1]), i[2], (0, 255, 0), 1)
cv2.circle(image, (i[0], i[1]), 2, (0, 0, 255), 3)
cv2.imshow("thing", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
실행 가능한 코드를 제공하여 이미지를로드하고 원을 그려 보는 사람이있을 수 있습니다. – Bull
감사합니다 @B ... 실행 가능한 코드가 추가되었습니다. – fruitcup