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

wiener2

2차원 적응형 잡음 제거 필터링

구문 wiener2(I,[m n],[mblock nblock],noise)는 제거되었습니다. 대신 wiener2(I,[m n],noise) 구문을 사용하십시오.

설명

J = wiener2(I,[m n],noise)는 픽셀별 적응형 저역통과 위너 필터를 사용하여 회색조 영상 I를 필터링합니다. [m n]은 영상의 국소 평균 및 표준편차를 추정하는 데 사용되는 이웃의 크기(mxn)를 지정합니다. 가산성 잡음(가우스 백색 잡음)의 전력은 noise로 간주됩니다.

입력 영상은 정전력 가산성 잡음에 의해 저하되었습니다. wiener2는 각 픽셀의 국소 이웃으로부터 추정한 통계량을 바탕으로 픽셀별 적응형 위너 방법을 사용합니다.

예제

[J,noise_out] = wiener2(I,[m n])wiener2가 필터링을 수행하기 전에 계산하는 가산성 잡음 전력의 추정값을 반환합니다.

예제

모두 축소

이 예제에서는 wiener2 함수를 사용하여 영상에 위너 필터(선형 필터의 일종)를 적절히 적용하는 방법을 보여줍니다. 위너 필터는 자체적으로 국소 영상 분산에 맞게 조정됩니다. 분산이 큰 경우, wiener2는 스무딩을 감소시킵니다. 분산이 작은 경우, wiener2는 스무딩을 증가시킵니다.

이러한 접근 방식 덕분에 일반적으로 선형 필터링보다 더 나은 결과를 얻게 됩니다. 적응 필터는 선형 필터보다 더 선택적으로 필터링하여 영상의 경계 및 다른 고주파수 부분을 보존합니다. 또한 설계 작업이 없습니다. wiener2 함수는 모든 예비 계산을 처리한 후 입력 영상에 필터를 적용합니다. 그러나 wiener2는 선형 필터링보다 계산 시간이 오래 걸립니다.

wiener2는 가우스 잡음처럼 전력이 일정한("백색") 가산성 잡음일 때 가장 효과적입니다. 아래 예제에서는 가우스 잡음이 추가된 토성 영상에 wiener2를 적용합니다.

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

RGB = imread('saturn.png');

트루컬러 영상을 회색조 영상으로 변환합니다.

I = rgb2gray(RGB);

영상에 가우스 잡음을 추가합니다.

J = imnoise(I,'gaussian',0,0.025);

잡음이 있는 영상을 표시합니다. 영상이 매우 크기 때문에 영상의 일부만 표시합니다.

imshow(J(600:1000,1:600));
title('Portion of the Image with Added Gaussian Noise');

wiener2 함수를 사용하여 잡음을 제거합니다.

K = wiener2(J,[5 5]);

처리된 영상을 표시합니다. 영상이 매우 크기 때문에 영상의 일부만 표시합니다.

figure
imshow(K(600:1000,1:600));
title('Portion of the Image with Noise Removed by Wiener Filter');

입력 인수

모두 축소

입력 영상으로, 2차원 숫자형 배열로 지정됩니다.

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

이웃 크기로, 요소를 2개 가진 벡터 [m n]으로 지정됩니다. 여기서 m은 행 개수이고 n은 열 개수입니다. [m n] 인수를 생략할 경우 mn은 디폴트 값 3으로 설정됩니다.

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

가산성 잡음으로, 숫자형 배열로 지정됩니다. 잡음을 지정하지 않을 경우 wiener2는 국소 분산의 평균 mean2(localVar)을 계산합니다.

데이터형: single | double

출력 인수

모두 축소

필터링된 영상으로, 입력 영상 I와 크기 및 클래스가 같은 숫자형 배열로 반환됩니다.

가산성 잡음 전력의 추정값으로, 숫자형 배열로 반환됩니다.

알고리즘

wiener2는 각 픽셀 주위의 국소 평균과 분산을 추정합니다 .

μ=1NMn1,n2ηa(n1,n2)

σ2=1NMn1,n2ηa2(n1,n2)μ2,

여기서 η은 영상 A에 있는 각 픽셀의 NxM 국소 이웃입니다. 그런 다음 wiener2는 다음과 같은 추정값을 사용하여 픽셀별 위너 필터를 만듭니다.

b(n1,n2)=μ+σ2ν2σ2(a(n1,n2)μ),

여기서 ν2은 잡음 분산입니다. 잡음 분산이 주어지지 않을 경우 wiener2는 모든 국소 분산 추정값의 평균을 사용합니다.

참고 문헌

[1] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, p. 548, equations 9.26, 9.27, and 9.29.

R2006a 이전에 개발됨