함수 > 이미지 처리 > 피쳐 추출 > 예제: 최소볼록집합
예제: 최소볼록집합
cnvxhull 함수를 사용하여 행렬 M에서 전경색 광도 값 fg를 갖는 픽셀의 최소볼록집합을 찾습니다. 출력은 최소볼록집합 안쪽은 1, 바깥쪽은 0로 이진화됩니다. 사용되는 알고리즘은 Digital Picture Processing(A. Rosenfeld 및 A. C. Kak 저서, 269페이지, 1982년)에 설명되어 있습니다.
M에서 픽셀 집합의 맨 왼쪽 및 맨 위 점으로 P1을 선택하고 P1을 통과하는 수평선으로 L1을 선택하여 최소볼록집합을 찾습니다. 그런 다음 픽셀 집합에서 fg 값과 만날 때까지 P1을 중심으로 L1을 회전합니다. 회전한 선의 결과를 L2라 하고 L2를 따라 P1에서 가장 먼 지점을 P2로 지정하면 Pn = P1이 될 때까지 알고리즘이 반복합니다. 합집합 {P1, P2, ... , Pn-1}이 최소볼록집합의 꼭지점입니다.
이 예제를 사용하는 것에 대한 자세한 내용은 이미지 처리 예제 정보를 참조하십시오.
1. 입력 행렬을 정의합니다.
이 식을 복사하려면 클릭
2. 전경색 픽셀 값 1을 갖는 집합의 최소볼록집합을 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
최소볼록집합은 원래 행렬에서 1인 모든 픽셀을 포함하며 가장 작은 볼록집합입니다.
3. 전경색 픽셀 값을 2로 선택하고 최소볼록집합을 다시 계산합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. corn 커널의 이진 이미지와 해당 최소볼록집합을 중첩시켜 이미지에서 윤곽선과 구멍을 기술할 때 최소볼록집합이 얼마나 유용한지 확인합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
5. 이진화된 이미지에서 흰색(1) 픽셀의 최소볼록집합을 찾은 다음 최소볼록집합에서 이미지를 빼 볼록집합과 이미지 간의 차이를 찾습니다. 이진화된 이미지와 최소볼록집합을 직접 빼는 대신 최소볼록집합 외부에 있는 영역은 회색으로, 이미지 픽셀은 검정으로, 볼록집합과 이미지 간의 차이는 흰색이 되도록 배율을 조정합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
6. M, Mbin255Mdef 이미지를 나란히 표시합니다.
(corn1.bmp)
(mbin_255.bmp)
(mdef.bmp)
다각형 바깥쪽은 M에서 회색이고, 이미지는 Mbin55에서 검정이고, 볼록집합과의 차이는 마지막 이미지 Mdef에서 흰색으로 나타납니다.
도움이 되셨나요?