2017-09-16 3 views
1

를 점프 : 나는 감지 할 때원 감지 내가 원을 감지하려면 다음 코드를 사용하고

gray = cv2.GaussianBlur(gray, (5, 5), 0); 
gray = cv2.medianBlur(gray, 5) 

kernel = np.ones((2, 2), np.uint8) 
gray = cv2.erode(gray, kernel, iterations=1) 

gray = cv2.dilate(gray, kernel, iterations=1) 
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 200, 
          param1=100, param2=50, minRadius=0, maxRadius=150) 


if circles is not None: 
    # Convert the (x,y) coordinate and radius of the circles 
    circles = np.round(circles[0, :]).astype("int") 

    # Loop over the (x,y) coordinate and radius of the circles 
    for (x, y, r) in circles: 
     # Draw the circle in the output 
     cv2.circle(fancy_frame, (x+x1, y+y1), r, (0, 255, 0), 4) 

그러나, 원 점프입니다. 이것을 어떻게 분류 할 수 있습니까? 어떤 haar 또는 svm 그것을 감지 할 수 있습니까?

Output

내가 HoughCircles parameters을 조정할 귀하의 코드가 잘 보이는

+0

결과 및 예상 결과를 게시하십시오. – zindarod

+0

업데이트 된 질문 – user1241241

+0

을 확인하십시오. 일부 추적 알고리즘을 적용해야합니다 (예 : kalman-filter – eyllanesc

답변

1

이 가장 가능성이 그냥 필요가 실시간 비디오에 모두 동그라미를 감지 할 :

은 내가 갖는 출력입니다.

dp 매개 변수를 낮추기 시작하면 더 많은 탐지가 이루어집니다. 나는 샘플 이미지에 폴더에서 OpenCV에서 houghcircles.py 실행 그리고 원의 나머지의 대부분을 감지합니다

$ python houghcircles.py your_image.png 

result

은 실행하기 어려울 수 있도록 원에 대한

호우 탐지는 매우 계산 무거운 편이다 실시간으로. 이미지의 "원"도 완벽하지 않으므로 알고리즘이 쉽지 않습니다. 이러한 기능을 감지하기 위해 신경망을 훈련하는 것이 좋습니다.

관련 문제