Main Content

edge3

3차원 회색조 볼륨에서 경계 찾기

설명

BW = edge3(V,"approxcanny",thresh)는 근사 Canny 방법을 사용하여 회색조 볼륨 또는 이진 볼륨 V에서 찾은 경계를 반환합니다. 근사 Canny 방법은 V의 기울기의 국소 최댓값을 탐색하여 경계를 찾습니다. edge3은 가우스 평활화가 적용된 볼륨의 도함수를 사용하여 기울기를 계산합니다.

근사 Canny 방법은 두 개의 임계값을 사용하여 강한 경계와 약한 경계를 검출하고, 약한 경계가 강한 경계와 연결되어 있는 경우에만 출력값에 약한 경계를 포함시킵니다. 이 방법은 Sobel 방법보다 진정한 약한 경계를 검출할 가능성이 더 높습니다.

예제

BW = edge3(V,"approxcanny",thresh,sigma)는 명암 볼륨 또는 이진 볼륨 V에서 찾은 경계를 반환합니다. 여기서 sigma는 가우스 평활화 필터의 표준편차를 지정합니다. edge3sigma에 따라 필터의 크기를 자동으로 선택합니다.

BW = edge3(V,"Sobel",thresh)는 명암 볼륨 또는 이진 볼륨 V를 받고 이진 볼륨 BW를 반환하는데, 이때 V에서 경계가 찾아진 위치는 1을 갖고 그 외의 위치는 0을 갖습니다.

Sobel 방법은 도함수에 대한 Sobel 근삿값을 사용하여 경계를 찾습니다. Sobel 방법은 V의 기울기가 최대인 지점의 경계를 반환합니다. edge3thresh보다 강하지 않은 모든 경계를 무시합니다.

BW = edge3(V,"Sobel",thresh,"nothinning")은 추가적인 경계 세선화 단계를 생략하여 알고리즘의 연산 속도를 높입니다. edge3은 경계 세선화를 기본적으로 적용하며 "thinning"이 지정된 경우에도 적용합니다.

예제

모두 축소

볼륨 데이터를 불러오고 모든 한원소 차원을 제거합니다.

load mri
V = squeeze(D);

원본 영상을 시각화합니다.

montage(reshape(V,size(D)),map);

볼륨에서 경계를 검출합니다.

BW = edge3(V,'approxcanny',0.6);

검출된 경계를 시각화합니다. 볼륨 뷰어 앱을 사용하여 결과를 볼 수도 있습니다.

montage(reshape(BW,size(D)))

입력 인수

모두 축소

입력 볼륨으로, 3차원 숫자형 배열로 지정됩니다.

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

감도 임계값으로, 다음 중 하나로 지정됩니다.

방법임계값
Canny숫자형 스칼라
근사 Canny요소를 2개 가진 숫자형 행 벡터. 첫 번째 요소는 낮은 임계값이고 두 번째 요소는 높은 임계값입니다([lowthresh highthresh] 형식).
높은 임계값을 나타내는 숫자형 스칼라. edge3은 낮은 임계값을 0.4*thresh로 설정합니다.
Sobel

숫자형 스칼라

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

가우스 필터의 표준편차로, 등방성 볼륨의 경우 숫자형 스칼라로, 각 방향의 스케일이 서로 다른 이방성 볼륨의 경우 [SigmaX SigmaY SigmaZ] 형식의 1×3 숫자형 벡터로 지정됩니다.

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

출력 인수

모두 축소

검출된 경계로, V와 같은 크기의 3차원 숫자형 배열로 반환됩니다. 픽셀 값 1은 경계를 나타내고 픽셀 값 0은 평탄 영역을 나타냅니다.

확장 기능

버전 내역

R2017b에 개발됨

모두 확장

참고 항목