주요 콘텐츠

impyramid

영상 피라미드 축소 및 확장

설명

B = impyramid(A,direction)A의 가우스 피라미드 축소 또는 확장을 한 단계씩 계산합니다. directionimpyramid가 축소를 수행할지 아니면 확장을 수행할지 결정합니다.

예제

예제

모두 축소

영상을 작업 공간으로 읽어 들입니다.

I = imread('cameraman.tif');

일련의 축소를 수행합니다. 첫 번째 호출에서는 원본 영상을 축소합니다. 그다음에 impyramid를 호출할 때는 이전에 축소된 영상이 사용됩니다.

I1 = impyramid(I, 'reduce');
I2 = impyramid(I1, 'reduce');
I3 = impyramid(I2, 'reduce');

원본 영상과 축소된 버전을 표시합니다.

figure, imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

figure, imshow(I1)

Figure contains an axes object. The axes object contains an object of type image.

figure, imshow(I2)

Figure contains an axes object. The axes object contains an object of type image.

figure, imshow(I3)

Figure contains an axes object. The axes object contains an object of type image.

입력 인수

모두 축소

축소 또는 확장할 영상으로, 숫자형 배열 또는 논리형 배열로 지정됩니다.

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

축소 또는 확장으로, 다음 값 중 하나로 지정됩니다.

설명
"reduce"원본 영상보다 더 작은 영상을 반환합니다.
"expand"원본 영상보다 더 큰 영상을 반환합니다.

데이터형: char | string

출력 인수

모두 축소

축소 또는 확장된 영상으로, A와 동일한 클래스의 숫자형 배열 또는 논리형 배열로 반환됩니다.

알고리즘

Am×n이고 direction"reduce"이면 B의 크기는 ceil(M/2)×ceil(N/2)입니다. direction"expand"이면 B의 크기는 (2*M-1)×(2*N-1)입니다.

축소와 확장은 처음 두 개의 차원에서만 발생합니다. 예를 들어, A가 100×100×3이고 direction"reduce"이면 B는 50×50×3입니다.

impyramid는 Burt and Adelson 논문의 533페이지에 명시된 다음 커널을 사용합니다.

w=[14a2,14,a,14,14a2], 여기서 a = 0.375입니다. 파라미터 a0.375로 설정되어 상응하는 가중치 함수가 가우스 형태에 가깝도록 만듭니다. 또한 고정소수점 연산방식을 사용하여 가중치를 쉽게 적용할 수 있습니다.

참고 문헌

[1] Burt and Adelson, "The Laplacian Pyramid as a Compact Image Code," IEEE Transactions on Communications, Vol. COM-31, no. 4, April 1983, pp. 532-540.

[2] Burt, "Fast Filter Transforms for Image Processing," Computer Graphics and Image Processing, Vol. 16, 1981, pp. 20-51

확장 기능

모두 확장

버전 내역

R2007b에 개발됨

모두 확장

참고 항목