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 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

ノイズ除去深層ニューラル ネットワーク。dlnetwork (Deep Learning Toolbox) オブジェクトとして指定します。ネットワークは、A と同じ数のカラー チャネルをもつイメージで学習させる必要があります。ネットワークの入力サイズを A のサイズと一致させる必要はありません。

ノイズ除去ネットワークの作成の詳細については、ノイズ除去ニューラル ネットワークの学習と適用を参照してください。

出力引数

すべて折りたたむ

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

バージョン履歴

R2017b で導入

すべて展開する