Main Content

deconvreg

정규화된 필터를 사용하여 영상 디블러 처리

설명

예제

J = deconvreg(I,psf)는 정규화된 필터 알고리즘을 사용하여 영상 I를 디컨벌루션하고 디블러 처리된 영상 J를 반환합니다. 이때 영상 I는 점 확산 함수(PSF) psf를 사용하여 실제 영상을 컨벌루션하고 (경우에 따라서는) 잡음을 추가하여 생성된 것으로 가정됩니다. 이 알고리즘은 영상의 부드러움을 보존해야 한다는 요구 사항 하에서 추정 영상과 실제 영상 간의 제곱오차를 최소화한다는 의미에서 제약 조건이 적용된 최적해를 나타냅니다.

J = deconvreg(I,psf,np)는 가산성 잡음 전력 np를 지정합니다.

J = deconvreg(I,psf,np,lrange)는 최적해 탐색이 수행되는 범위 lrange를 지정합니다. 이 알고리즘은 lrange 범위 내에서 최적의 라그랑주 승수 lagra를 찾습니다.

J = deconvreg(I,psf,np,lrange,regop)는 정규화 연산자 regop를 사용하여 디컨벌루션을 제한합니다. 디폴트 정규화 연산자는 라플라시안 연산자로, 영상의 부드러움을 유지하도록 합니다.

[J,lagra] = deconvreg(___)는 복원된 영상 J와 함께 라그랑주 승수 lagra의 값을 출력합니다.

예제

모두 축소

샘플 영상을 만듭니다.

I = checkerboard(8);

PSF를 생성한 후 이를 사용하여 잡음 있는 흐릿한 버전의 입력 영상을 만듭니다.

PSF = fspecial('gaussian',7,10);
V = .01;
BlurredNoisy = imnoise(imfilter(I,PSF),'gaussian',0,V);
NOISEPOWER = V*prod(size(I));

영상을 디블러 처리합니다.

[J LAGRA] = deconvreg(BlurredNoisy,PSF,NOISEPOWER);

영상을 여러 버전으로 표시해 봅니다.

subplot(221); imshow(BlurredNoisy);
title('A = Blurred and Noisy');
subplot(222); imshow(J);
title('[J LAGRA] = deconvreg(A,PSF,NP)');
subplot(223); imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA/10));
title('deconvreg(A,PSF,[],0.1*LAGRA)');
subplot(224); imshow(deconvreg(BlurredNoisy,PSF,[],LAGRA*10));
title('deconvreg(A,PSF,[],10*LAGRA)');

입력 인수

모두 축소

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

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

PSF로, 숫자형 배열로 지정됩니다.

데이터형: double

잡음 전력으로, 숫자형 스칼라로 지정됩니다.

데이터형: double

탐색 범위로, 숫자형 스칼라 또는 요소를 2개 가진 숫자형 벡터로 지정됩니다. lrange가 스칼라이면 알고리즘은 lagralrange와 같다고 가정합니다. lagra를 지정하면 함수는 np 값을 무시합니다.

데이터형: double

정규화 연산자로, 숫자형 배열로 지정됩니다. regop 배열 차원은 영상 I의 차원을 초과해서는 안 됩니다. 이 배열의 모든 비한원소 차원은 psf의 비한원소 차원과 일치해야 합니다.

데이터형: double

출력 인수

모두 축소

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

라그랑주 승수로, 숫자형 스칼라로 반환됩니다.

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

참고 문헌

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

버전 내역

R2006a 이전에 개발됨