Main Content

denoiseImage

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

설명

예제

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

이 함수에는 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)")

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

denoisedI = denoiseImage(noisyI,net);
imshow(denoisedI)
title("Denoised 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

잡음 제거 심층 신경망으로, dlnetwork (Deep Learning Toolbox) 객체로 지정됩니다. 신경망은 A와 동일한 수의 컬러 채널을 가진 영상을 기반으로 훈련되어야 합니다. 신경망의 입력 크기는 A의 크기와 일치할 필요가 없습니다.

잡음 제거 신경망 만들기에 대한 자세한 내용은 Train and Apply Denoising Neural Networks 항목을 참조하십시오.

출력 인수

모두 축소

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

버전 내역

R2017b에 개발됨

모두 확장