Main Content

imnoise

영상에 잡음 추가

설명

J = imnoise(I,'gaussian')은 분산 0.01과 평균 0의 가우스 백색 잡음을 회색조 영상 I에 추가합니다.

J = imnoise(I,'gaussian',m)은 평균 m과 분산 0.01의 가우스 백색 잡음을 추가합니다.

J = imnoise(I,'gaussian',m,var_gauss)는 평균 m과 분산 var_gauss의 가우스 백색 잡음을 추가합니다.

J = imnoise(I,'localvar',var_local)은 국소 분산 var_local과 평균 0의 가우스 백색 잡음을 추가합니다.

J = imnoise(I,'localvar',intensity_map,var_local)은 평균 0의 가우스 백색 잡음을 추가합니다. 잡음의 국소 분산 var_localI의 영상 명암 값에 대한 함수입니다. 잡음 분산에 대한 영상 명암 값의 매핑은 벡터 intensity_map으로 지정됩니다.

J = imnoise(I,'poisson')은 데이터에 인공 잡음을 추가하는 대신, 데이터에서 푸아송 잡음을 생성합니다. 자세한 내용은 알고리즘 항목을 참조하십시오.

J = imnoise(I,'salt & pepper')는 디폴트 잡음 밀도가 0.05인 점잡음(Salt and Pepper Noise)을 추가합니다. 이는 대략 픽셀의 5%에 영향을 줍니다.

예제

J = imnoise(I,'salt & pepper',d)는 점잡음을 추가합니다. 여기서 d는 잡음 밀도입니다. 이는 대략 d*numel(I)개의 픽셀에 영향을 줍니다.

J = imnoise(I,'speckle')은 수식 J = I+n*I를 사용하여 승산 잡음을 추가합니다. 여기서 n은 평균 0과 분산 0.05의 균일하게 분포된 랜덤 잡음입니다.

J = imnoise(I,'speckle',var_speckle)은 분산 var_speckle의 승산 잡음을 추가합니다.

예제

모두 축소

회색조 영상을 읽어 들인 후 이를 표시합니다.

I = imread('eight.tif');
imshow(I)

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

잡음 밀도가 0.02인 점잡음(Salt and Pepper Noise)을 영상에 추가합니다. 결과를 표시합니다.

J = imnoise(I,'salt & pepper',0.02);
imshow(J)

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

입력 인수

모두 축소

회색조 영상으로, 임의 차원의 숫자형 배열로 지정됩니다.

imnoise에서 double형 및 single형의 픽셀 값은 [0, 1] 범위 내에 있어야 합니다. rescale 함수를 사용하여 픽셀 값을 예상 범위로 조정할 수 있습니다. 영상이 double형 또는 single형이고 값이 [0, 1] 범위 밖에 있는 경우 imnoise는 입력 픽셀 값을 [0, 1] 범위로 자른 후에 잡음을 추가합니다.

참고

푸아송 잡음인 경우, imnoise는 데이터형이 int16인 영상을 지원하지 않습니다.

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

가우스 잡음의 평균으로, 숫자형 스칼라로 지정됩니다.

가우스 잡음의 분산으로, 숫자형 스칼라로 지정됩니다.

가우스 잡음의 국소 분산으로, 다음 중 하나로 지정됩니다.

  • I와 크기가 동일한 숫자형 행렬.

  • intensity_map과 길이가 동일한 숫자형 벡터.

가우스 잡음 분산에 매핑된 명암 값으로, 숫자형 벡터로 지정됩니다. 이 값들은 [0, 1] 범위로 정규화됩니다.

잡음 분산 var_local과 영상 명암 간의 함수 관계를 명령 plot(intensity_map,var_local)을 사용하여 플로팅할 수 있습니다.

점잡음(Salt and Pepper Noise)의 잡음 밀도로, 숫자형 스칼라로 지정됩니다. 잡음은 대략 d*numel(I)개의 픽셀에 적용됩니다.

승산 잡음의 분산으로, 숫자형 스칼라로 지정됩니다.

출력 인수

모두 축소

잡음이 있는 영상으로, 입력 영상 I와 데이터형이 동일한 숫자형 행렬로 반환됩니다. 데이터형이 double형 또는 single형인 영상에 대해 imnoise 함수는 잡음을 추가한 후에 출력 픽셀 값을 [0, 1] 범위로 자릅니다.

알고리즘

  • 'gaussian', 'localvar', 'speckle' 잡음 유형의 평균 파라미터와 분산 파라미터는 영상을 항상 [0, 1] 범위의 double형 클래스로 가정하여 지정됩니다. 입력 영상의 클래스가 다르면, imnoise 함수는 영상을 double형으로 변환하고, 지정된 유형과 파라미터에 따라 잡음을 추가하고, 픽셀 값을 [0, 1] 범위로 자른 다음, 잡음이 있는 영상을 다시 입력값과 같은 클래스로 변환합니다.

  • 푸아송 분포는 다음과 같이 입력 영상 I의 데이터형에 따라 달라집니다.

    • I가 배정밀도이면, 입력 픽셀 값은 1e12배로 확대 스케일링된 푸아송 분포의 평균으로 해석됩니다. 예를 들어, 입력 픽셀 값이 5.5e-12이면, 해당 출력 픽셀은 평균 5.5의 푸아송 분포에서 생성된 후 1e12배로 축소 스케일링됩니다.

    • I가 단정밀도이면, 사용되는 스케일링 인자는 1e6입니다.

    • Iuint8형이거나 uint16형이면, 입력 픽셀 값은 스케일링 없이 바로 사용됩니다. 예를 들어, uint8형 입력값에서 픽셀 값이 10이면, 대응하는 출력 픽셀은 평균 10의 푸아송 분포에서 생성됩니다.

  • 영상에 밀도가 d'salt & pepper' 잡음을 추가하기 위해 imnoise는 먼저 열린 구간 (0, 1)의 표준 균등분포에서 추출한 임의 확률 값을 각 픽셀에 할당합니다.

    • 확률 값이 (0, d/2) 범위 내에 있는 픽셀의 경우 픽셀 값이 0으로 설정됩니다. 0으로 설정되는 픽셀 수는 약 d*numel(I)/2개입니다.

    • 확률 값이 [d/2, d) 범위 내에 있는 픽셀의 경우 픽셀 값이 이미지 데이터형의 최댓값으로 설정됩니다. 최댓값으로 설정되는 픽셀 수는 약 d*numel(I)/2개입니다.

    • 확률 값이 [d, 1) 범위 내에 있는 픽셀의 경우 픽셀 값이 변경되지 않습니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

|