activecontour
능동 윤곽선(스네이크) 영역 확장 기법을 사용하여 영상을 전경과 배경으로 분할
구문
설명
스네이크라고도 하는 능동 윤곽선 기법은 반복적인 영역 확장을 수행하여 영상을 분할하는 알고리즘입니다. 능동 윤곽선 알고리즘을 사용하면 영상에서 초기 곡선을 지정한 다음 activecontour
함수를 사용하여 곡선을 전개하여 객체 경계선을 찾을 수 있습니다.
예제
입력 인수
출력 인수
팁
activecontour
는mask
의 영역 경계선을 전개가 시작되는 윤곽선의 초기 상태로 사용합니다. 마스크에 구멍이 있으면 예기치 않은 결과가 발생할 수 있습니다.mask
내 영역의 구멍을 모두 채우려면imfill
을 사용하십시오.어느 영역이 영상 테두리에 닿게 되는 경우,
activecontour
는 이 영역이 영상의 테두리에 닿지 않도록 해당 영역에서 한 픽셀 두께만큼의 층을 제거한 후, 추가적인 처리를 수행합니다.더 빠르고 정확한 분할 결과를 얻으려면 초기 윤곽선 위치를 원하는 객체 경계선에 가까운 위치로 지정하십시오. 특히
"edge"
방법을 사용할 때는 더욱 그렇습니다."edge"
방법의 경우, 능동 윤곽선은 자연적으로 안쪽 방향으로 작아지는(수축) 경향을 띠게 됩니다. 영상 기울기가 없는 경우 능동 윤곽선은 자체적으로 작아집니다. 이와 반대로, 윤곽선이 어느 한쪽으로 편향되지 않는"Chan-Vese"
방법을 사용할 경우 윤곽선은 영상 특징에 따라 자유롭게 수축되거나 확장됩니다."edge"
방법을 사용하여 정확한 분할 결과를 얻으려면 객체 경계선 밖에 초기 윤곽선을 지정하십시오."edge"
방법을 사용할 경우 능동 윤곽선은 기본적으로 수축되는 경향을 띠게 됩니다.객체 영역 간에 회색조 명암이 크게 다른 경우에
"Chan-Vese"
방법 [1]을 사용하면 영상에서 일부 객체를 분할하지 못할 수 있습니다. 예를 들어, 영상에 포함된 객체가 일부는 배경보다 밝고 다른 일부는 배경보다 어두운 경우"Chan-Vese"
방법은 일반적으로 어두운 객체만 분할하거나 밝은 객체만 분할합니다.
알고리즘
activecontour
는 [3]에 설명된 방법과 유사한 Sparse-Field 등위 집합(level-set) 방법을 사용하여 능동 윤곽선 전개를 구현합니다.
참고 문헌
[1] T. F. Chan, L. A. Vese, Active contours without edges. IEEE Transactions on Image Processing, Volume 10, Issue 2, pp. 266-277, 2001.
[2] V. Caselles, R. Kimmel, G. Sapiro, Geodesic active contours. International Journal of Computer Vision, Volume 22, Issue 1, pp. 61-79, 1997.
[3] R. T. Whitaker, A level-set approach to 3d reconstruction from range data. International Journal of Computer Vision, Volume 29, Issue 3, pp. 203-231, 1998.