2017-12-06 3 views
-1

메모에있는 cirles를 감지하려고합니다. 다음 코드 : 다음 그림의 원 찾기 MATLAB

A = imread('note.png'); 
A = rgb2gray(A); 
imshow(A) 
    [centers, radii, metric] = imfindcircles(A,[1 15]); 

    centersStrong5 = centers(1:5,:); 
    radiiStrong5 = radii(1:5); 
    metricStrong5 = metric(1:5); 

    viscircles(centersStrong5, radiiStrong5,'EdgeColor','b'); 
그러나 MATLAB의 imfindcircles가 .... 나는 또한 adusting 같은 더 원을 받고 함께 명령 [1 ~ 15]는 원의 반지름을 변경하는 이유는 이해하지 못할하는 실패 할 것

모든 원을 얻을 수 있도록 센터 (1 : x, :)의 매개 변수는 여전히 그렇습니다.

결과는 내가 얻을 :이 이미지의 모든 동그라미가 표시되지

Failed Circles

+0

그런데 문제가 있으면 알려지지 않은 알고리즘을 맹목적으로 던지면 어떻게 될까요? 버터 나이프로 돌을 잘 자르지 못합니다 ... – Piglet

+0

Optical Mark Recognition (OMR)은 많은 자원을 사용할 수있는 폭 넓은 분야입니다. 이미지에서 'imfindcircles'를 던지기 전에 주제를 더 읽어야합니다 (예 : [이 질문] (https://stackoverflow.com/questions/675077/ocr-for-sheet-music)에서 음악 읽기. 몇 시간 내에 두 가지 광범위한 질문을 게시하면 많은 도움을 얻지 못할 것입니다. 만약 당신이 특정 방법의 특정 구현에 갇혀 있다면, 와서 묻고, 전후에, 예상 결과 등을 물어보십시오. 일을 완전히 설명하면 자신이 문제를 해결하는 데 도움이 될 것입니다! – Wolfie

답변

-1

. 이것이 알고리즘이 그들을 찾을 수없는 이유입니다. 서클과 가장 가까운 것은 글자 G입니다.

이 질문에 대한 답변을 바랍니다.

난 당신이 노트의 아래 부분을 찾고 추측 https://en.wikipedia.org/wiki/Circle

을 읽어 보시기 바랍니다. 모든 선을 제거하는 사전 처리 후에 템플릿 기반 접근법 또는 얼룩 분석을 사용하십시오.