2012-02-04 2 views
8

망고를 확인하고 계산할 수 있도록 망고 나무의 클로즈업 이미지를 처리 ​​할 수 ​​있기를 바랍니다. 망고는 대략 타원형 또는 타원형이며 이미지의 잎과 가지와 독특하게 다릅니다. 저는 다른 대상에 의해 20 % 덮여있을 수있는 망고를 계산할 수 있기를 원합니다. (그러나 인간의 눈에는 여전히 명확합니다.) MatLab에 알고리즘을 구현할 수 있다고 믿습니다. 도움이나 제안을 주시면 감사하겠습니다.형상 인식 - 카운팅 망고

+0

http://opencv.willowgarage.com –

+0

도 http://stackoverflow.com/questions/6307263/ellipse-detection-using-hough-transform –

답변

4

그 문제에 대한보다 강력한 해결책은 배경 (즉, 나무 잎)에서 망고를 색으로 구분하고 결과 바이너리 이미지에서 connected components의 수를 세는 것입니다. btown이 지적한대로 bwconncomplabelmatrix 함수를 사용하여 이진 이미지의 연결된 구성 요소를 가져올 수 있습니다.

망고를 색으로 구분하려면 먼저 이미지를 HSV color space으로 변환 한 다음 색조 구성 요소를 사용하여 이진화를 수행하십시오. 나는 망고의 색조 성분이 이미지의 다른 부분과 다를 것이라고 믿는다. This blog post은 Matlab에서이를 수행하는 방법에 대한 통찰력을 제공합니다.

+1

예제는 http://www.mathworks.com/입니다. help/toolbox/images/ref/labelmatrix.html – btown

+0

@btwon 질문 답에 제안 링크가 추가되었습니다. –

+1

색상 분할의 예는 [RGB 이미지를 그레이 스케일로 변환하지만 하나의 색상을 유지하려면 어떻게합니까?] (http://stackoverflow.com/q/4063965/52738) – gnovice

1

아마 당신 수 :

  1. 전 과정 (등 그레이 스케일/임계 값) 이미지.
  2. 이진 이미지에서 모든 countours/연결된 구성 요소의 압축을 풉니 다.
  3. 각 윤곽/연결된 구성 요소의 면적과 둘레를 계산하십시오.
  4. 사용하여 형상 계수/진원도를 계산한다

형상 계수 - (4 * PI *의 면적)/(2^경계). 이것은 객체 모양에 대한 표시를 제공합니다. 원은 주변 비율로 가장 큰 영역을 가지며이 공식은 완전한 원에 대해 1 값에 접근합니다. 사각형은 약 0.78입니다. 얇은 실 모양의 물체 인 은 모양 계수가 0에 가까워 질수록 좁아집니다.

반올림 - (둘레^2)/4 * PI * 영역). 이 값은 의 Shape Factor 값을 사용하는 데 사용됩니다. 원이 1보다 약간 크거나 같은 값을 갖습니다. 다른 모양의 값이 증가합니다.

따라서 "이상적인"망고의 모양 계수를 근사값으로 계산할 수 있으며 구성 요소 중 어느 것이 근사값 안에 있는지 확인할 수 있습니까?

자세한 내용은 this을 참조하십시오.

+0

이 특정 상황에서 모양 측정을 사용하는 것은 약간의 물체 (망고)가 나뭇잎에 부분적으로 가려지기 때문에 조금 힘듭니다. –

+0

참; 불규칙한 모양 (망고가 보이지 않음)을 검증하고 불규칙한 "잠재적 망고"윤곽선의 위치를 ​​고려하여 색조 색상 정보를 얻는 방법으로이 방법을 사용할 수 있습니다.사실, 유효성 검사를 위해 모든 윤곽에 대해이 작업을 수행 할 수 있습니다. 당신은 어떤 색조 값의 범위가 망고라고 생각하는지 알 필요가 있습니다. 당신의 접근 방식에 +1! – Jeb