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. The axes 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. The axes with title Denoised Image contains an object of type image.

入力引数

すべて折りたたむ

ノイズを含むイメージ。単一の 2 次元イメージまたは 2 次元イメージのスタックとして指定します。A は次のいずれかです。

  • m 行 n 列サイズの 2 次元グレースケール イメージ。

  • m x n x c の 2 次元マルチチャネル イメージ。ここで、c はイメージ チャネルの数です。たとえば、c は RGB イメージの場合は 3 であり、赤外線チャネルを持つ RGB イメージなどの 4 チャネル イメージの場合は 4 です。

  • 等サイズの 2 次元イメージのスタック。この場合、A のサイズは m x n x c x p です。ここで p はスタック内のイメージの数です。

データ型: single | double | uint8 | uint16

ノイズ除去深層ニューラル ネットワーク。SeriesNetwork (Deep Learning Toolbox) オブジェクトとして指定します。ネットワークは、A と同じチャネル形式でイメージを処理するように学習させる必要があります。

出力引数

すべて折りたたむ

ノイズ除去後のイメージ。単一の 2 次元イメージまたは 2 次元イメージのスタックとして返されます。B のサイズとデータ型は A と同じです。

R2017b で導入