이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

deconvwnr

위너 필터를 사용하여 영상 디블러 처리

설명

예제

J = deconvwnr(I,psf,nsr)은 위너 필터 알고리즘을 사용하여 영상 I를 디컨벌루션하고 디블러 처리된 영상 J를 반환합니다. psfI를 컨벌루션할 때 사용한 PSF(점 확산 함수)입니다. nsr은 가산성 잡음의 잡음 대 신호 전력비입니다. 이 알고리즘은 추정된 영상과 실제 영상 사이의 평균 제곱 오차를 최소화한다는 점에서 적합합니다.

J = deconvwnr(I,psf,ncorr,icorr)은 영상 I를 디컨벌루션합니다. 여기서 ncorr은 잡음의 자기상관 함수, icorr은 원본 영상의 자기상관 함수입니다.

J = deconvwnr(I,psf)는 추정된 잡음 없이 위너 필터 알고리즘을 사용하여 영상 I를 디컨벌루션합니다. 잡음이 없을 때 위너 필터는 이상적인 역필터에 해당합니다.

예제

모두 축소

영상을 작업 공간으로 읽어 들인 후 이를 표시합니다.

I = im2double(imread('cameraman.tif'));
imshow(I);
title('Original Image (courtesy of MIT)');

모션 블러를 시뮬레이션합니다.

LEN = 21;
THETA = 11;
PSF = fspecial('motion', LEN, THETA);
blurred = imfilter(I, PSF, 'conv', 'circular');
figure, imshow(blurred)

가산성 잡음을 시뮬레이션합니다.

noise_mean = 0;
noise_var = 0.0001;
blurred_noisy = imnoise(blurred, 'gaussian', ...
                        noise_mean, noise_var);
figure, imshow(blurred_noisy)
title('Simulate Blur and Noise')

잡음이 없다고 가정하고 복원해 보십시오.

estimated_nsr = 0;
wnr2 = deconvwnr(blurred_noisy, PSF, estimated_nsr);
figure, imshow(wnr2)
title('Restoration of Blurred, Noisy Image Using NSR = 0')

더 나은 잡음 대 신호 전력비 추정값을 사용하여 복원해 보십시오.

estimated_nsr = noise_var / var(I(:));
wnr3 = deconvwnr(blurred_noisy, PSF, estimated_nsr);
figure, imshow(wnr3)
title('Restoration of Blurred, Noisy Image Using Estimated NSR');

입력 인수

모두 축소

흐릿한 영상으로, 임의 차원의 숫자형 배열로 지정됩니다.

데이터형: single | double | int16 | uint8 | uint16

점 확산 함수로, 숫자형 배열로 지정됩니다.

데이터형: double

잡음 대 신호비로, 음이 아닌 스칼라 또는 영상 I와 같은 크기의 숫자형 배열로 지정됩니다. nsr이 배열인 경우 스펙트럼 영역을 나타냅니다. nsr에 대해 0을 지정하면 이상적인 역필터를 생성하는 것과 같습니다.

데이터형: double

잡음의 자기상관 함수로, 원본 영상을 초과하지 않는 임의의 크기 또는 임의의 차원의 숫자형 배열로 지정됩니다.

  • ncorr의 차원 수가 영상 I의 차원 수와 일치할 경우 이 값은 각 차원 내의 자기상관에 해당합니다.

  • ncorr이 벡터이고 psf도 벡터인 경우 ncorr의 값은 첫 번째 차원의 자기상관 함수를 나타냅니다.

  • ncorr이 벡터이고 psf는 배열인 경우 1차원 자기상관 함수는 psf의 모든 비한원소 차원에 대칭 외삽됩니다.

  • ncorr이 스칼라인 경우 이 값은 영상 잡음의 전력을 나타냅니다.

데이터형: double

영상의 자기상관 함수로, 원본 영상을 초과하지 않는 임의의 크기 또는 임의의 차원의 숫자형 배열로 지정됩니다.

  • icorr의 차원 수가 영상 I의 차원 수와 일치할 경우 이 값은 각 차원 내의 자기상관에 해당합니다.

  • icorr이 벡터이고 psf도 벡터인 경우 icorr의 값은 첫 번째 차원의 자기상관 함수를 나타냅니다.

  • icorr이 벡터이고 psf는 배열인 경우 1차원 자기상관 함수는 psf의 모든 비한원소 차원에 대칭 외삽됩니다.

  • icorr이 스칼라인 경우 이 값은 영상 잡음의 전력을 나타냅니다.

데이터형: double

출력 인수

모두 축소

디블러 처리된 영상으로, 숫자형 배열로 반환됩니다. J의 데이터형이 I와 같습니다.

  • 출력 영상 J에는 알고리즘에서 사용되는 이산 푸리에 변환으로 인해 발생하는 링잉 현상이 존재할 수 있습니다. 링잉 현상을 줄이려면 deconvwnr을 호출하기 전에 I = edgetaper(I,psf)를 사용하십시오.

참고 문헌

[1] Gonzalez, R. C., and R. E. Woods. Digital Image Processing. Addison-Wesley Publishing Company, Inc., 1992.

R2006a 이전에 개발됨