주요 콘텐츠

bwdistgeodesic

이진 영상의 측지선 거리 변환

설명

D = bwdistgeodesic(BW,mask)는 이진 영상 BWmask로 지정된 시드 위치가 주어진 경우 측지선 거리 변환을 계산합니다. BWtrue인 영역은 거리 변환 계산에서 지나갈 수 있는 유효한 영역을 나타냅니다. BWfalse인 영역은 거리 계산에서 지나갈 수 없는 제한된 영역을 나타냅니다. BW의 각 true 픽셀에 대해, 측지선 거리 변환은 해당 픽셀과 mask의 최근접 true 픽셀 사이의 제약된 거리(constrained distance)를 숫자로 할당합니다. 출력 행렬 D는 측지선 거리를 포함합니다.

D = bwdistgeodesic(BW,C,R)은 이진 영상 BW의 측지선 거리 변환을 계산합니다. 벡터 CR은 시드 위치의 열 좌표와 행 좌표를 포함합니다.

예제

D = bwdistgeodesic(BW,idx)는 이진 영상 BW의 측지선 거리 변환을 계산합니다. idx는 시드 위치의 선형 인덱스로 구성된 벡터입니다.

D = bwdistgeodesic(___,method)method로 지정된 다른 거리 측정법을 사용하여 측지선 거리 변환을 계산합니다.

예제

모두 축소

이 예제를 위한 샘플 이진 영상을 만듭니다.

BW = [1 1 1 1 1 1 1 1 1 1;...
     1 1 1 1 1 1 0 0 1 1;...
     1 1 1 1 1 1 0 0 1 1;...
     1 1 1 1 1 1 0 0 1 1;...
     0 0 0 0 0 1 0 0 1 0;...
     0 0 0 0 1 1 0 1 1 0;...
     0 1 0 0 1 1 0 0 0 0;...
     0 1 1 1 1 1 1 0 1 0;...
     0 1 1 0 0 0 1 1 1 0;...
     0 0 0 0 1 0 0 0 0 0];
 BW = logical(BW);

시드 위치로 구성된 벡터 두 개를 만듭니다.

C = [1 2 3 3 3];
R = [3 3 3 1 2];

측지선 거리 변환을 계산합니다. BW가 false인 출력 픽셀은 측지선 거리가 정의되지 않아 NaN 값을 포함합니다. 시드 위치에서 요소 BW(10,5)까지 연결된 경로가 없으므로 출력값 D(10,5)의 값은 Inf입니다.

D = bwdistgeodesic(BW,C,R)
D = 10×10 single matrix

     2     1     0     1     2     3     4     5     6     7
     1     1     0     1     2     3   NaN   NaN     6     7
     0     0     0     1     2     3   NaN   NaN     7     7
     1     1     1     1     2     3   NaN   NaN     8     8
   NaN   NaN   NaN   NaN   NaN     3   NaN   NaN     9   NaN
   NaN   NaN   NaN   NaN     4     4   NaN    10    10   NaN
   NaN     8   NaN   NaN     5     5   NaN   NaN   NaN   NaN
   NaN     8     7     6     6     6     6   NaN     8   NaN
   NaN     8     7   NaN   NaN   NaN     7     7     8   NaN
   NaN   NaN   NaN   NaN   Inf   NaN   NaN   NaN   NaN   NaN

입력 인수

모두 축소

이진 영상으로, 임의 차원의 숫자형 배열 또는 논리형 배열로 지정됩니다. 숫자형 입력값의 경우 0이 아닌 픽셀은 1(true)로 간주됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

시드 위치로, BW와 크기가 같은 논리형 배열로 지정됩니다.

시드 위치의 열 좌표로, 길이가 R과 같은 양의 정수로 구성된 벡터로 지정됩니다.

시드 위치의 행 좌표로, 길이가 C와 같은 양의 정수로 구성된 벡터로 지정됩니다.

시드 위치의 선형 인덱스로, 양의 정수로 구성된 벡터로 지정됩니다.

거리 측정법으로, 다음 중 하나로 지정됩니다.

방법

설명

'chessboard'

2차원에서 (x1,y1)과 (x2,y2) 사이의 체스보드 거리는 다음과 같습니다.

max(abs(x1-x2),abs(y1-y2))

'cityblock'

2차원에서 (x1,y1)과 (x2,y2) 사이의 도시 블록 거리는 다음과 같습니다.

abs(x1-x2) + abs(y1-y2)

'quasi-euclidean'

2차원에서 (x1,y1)과 (x2,y2) 사이의 준유클리드 거리는 다음과 같습니다.

|x1x2|+(21)|y1y2|, |x1x2|>|y1y2|

(21)|x1x2|+|y1y2|, otherwise.

데이터형: char | string

출력 인수

모두 축소

측지선 거리로, BW와 같은 크기의 숫자형 배열로 반환됩니다.

데이터형: single

알고리즘

bwdistgeodesic는 Soille, P., Morphological Image Analysis: Principles and Applications, 2nd Edition, Secaucus, NJ, Springer-Verlag, 2003, pp. 219–221에 설명된 측지선 거리 알고리즘을 사용합니다.

버전 내역

R2011b에 개발됨

참고 항목

|