Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

denoiseImage

심층 신경망을 사용하여 영상 잡음 제거하기

설명

예제

B = denoiseImage(A,net)net에 의해 지정된 잡음 제거 심층 신경망을 사용하여 잡음이 있는 영상 A에서 잡음이 제거된 영상 B를 추정합니다.

이 함수를 사용하려면 Deep Learning Toolbox™가 필요합니다.

예제

모두 축소

사전 훈련된 잡음 제거 컨벌루션 신경망 'DnCNN'을 불러옵니다.

net = denoisingNetwork('DnCNN');

회색조 영상을 작업 공간으로 불러온 다음 잡음이 있는 버전의 영상을 만듭니다.

I = imread('cameraman.tif');
noisyI = imnoise(I,'gaussian',0,0.01);

2개의 영상을 몽타주 형태로 표시합니다.

montage({I,noisyI})
title('Original Image (Left) and Noisy Image (Right)')

Figure contains an axes object. The axes object with title Original Image (Left) and Noisy Image (Right) contains an object of type image.

잡음이 있는 영상에서 잡음을 제거한 다음 결과를 표시합니다.

denoisedI = denoiseImage(noisyI,net);
imshow(denoisedI)
title('Denoised Image')

Figure contains an axes object. The axes object with title Denoised Image contains an object of type image.

입력 인수

모두 축소

잡음이 있는 영상으로, 단일 2차원 영상 또는 2차원 영상 스택으로 지정됩니다. A는 다음과 같을 수 있습니다.

  • 크기가 m×n인 2차원 회색조 영상.

  • 크기가 m×n×c인 2차원 다중채널 영상. 여기서 c는 영상 채널 수입니다. 예를 들어 c는 RGB 영상의 경우 3이고 적외선 채널이 있는 RGB 영상과 같은 4채널 영상의 경우 4입니다.

  • 동일한 크기의 2차원 영상 스택. 이 경우 A의 크기는 m×n×c×p입니다. 여기서 p는 스택의 영상 수입니다.

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

잡음 제거 심층 신경망으로, SeriesNetwork (Deep Learning Toolbox) 객체로 지정됩니다. 신경망은 A와 동일한 채널 형식으로 영상을 처리하도록 훈련되어야 합니다.

잡음이 있는 영상 또는 영상 스택 A에 채널이 하나만 있고 가우스 잡음이 있는 경우 denoisingNetwork 함수를 사용하여 사전 훈련된 신경망을 얻을 수 있습니다. 다중채널 영상 또는 다른 잡음 모델의 잡음 제거 신경망 만들기에 대한 자세한 내용은 Train and Apply Denoising Neural Networks 항목을 참조하십시오.

출력 인수

모두 축소

잡음이 제거된 영상으로, 단일 2차원 영상 또는 2차원 영상 스택으로 반환됩니다. BA와 크기 및 데이터형이 동일합니다.

  • denoiseImage 함수는 activations (Deep Learning Toolbox) 함수를 사용하여 입력 영상 A의 잡음을 추정합니다. denoiseImage 함수는 activationsOutputAs 이름-값 인수를 "channels"로 지정하기 때문에 A는 신경망 입력 크기보다 클 수 있습니다. 반면에 predict (Deep Learning Toolbox) 함수는 영상 크기가 신경망 입력 크기와 일치해야 합니다.

버전 내역

R2017b에 개발됨