画像のノイズ除去の MATLAB ソリューション
イメージのノイズ除去を実行するには、MATLABで提供されているいくつかのイメージノイズ除去関数やアルゴリズムを活用できます。以下は、一般的に使用される一部のイメージノイズ除去メソッドを記載しています。
- メディアンフィルタ:medfilt2関数を使用して、画像の 2 次元メディアンフィルタリングを行い、画像のノイズを除去します。
I = imread('image.jpg'); % 读取图像
J = medfilt2(I); % 对图像进行中值滤波
imshow(J); % 显示处理后的图像
- 平均化フィルタ:imfilter関数が線形フィルタリングを実行し、画像を平滑化してノイズを低減する平均化フィルタを使用します。
I = imread('image.jpg'); % 读取图像
h = fspecial('average', [3 3]); % 创建一个3x3的平均滤波模板
J = imfilter(I, h); % 对图像进行均值滤波
imshow(J); % 显示处理后的图像
- ウェーブレットノイズ除去:wdenoise 関数を使ったウェーブレット変換と閾値処理により画像のノイズを除去して画像の詳細を維持します。
I = imread('image.jpg'); % 读取图像
J = wdenoise2(I); % 对图像进行小波去噪
imshow(J); % 显示处理后的图像
- ウィナーフィルタ:wiener2関数を使用する適応フィルタ処理で、画像の統計的特性に基づいて雑音推定と除去を行い、適応フィルタリングを実行できます。
I = imread('image.jpg'); % 读取图像
J = wiener2(I); % 对图像进行自适应滤波
imshow(J); % 显示处理后的图像
一般的な画像ノイズ除去法の一例であり、実際状況や要求に応じてより複雑な画像ノイズ除去アルゴリズムを使用することも可能である。