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 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 で導入