从彩色图像噪声去除

29日视图(30天)
matlab_image
matlab_image 2012年8月4日
评论道: 图像分析 2021年11月17日
你好,请告诉我我怎样才能从彩色图像去除噪声。我试过像medfilt2过滤器,ordfilt2 wiener2。但它给错误如“函数ORDFILT2预计第一个输入,一个是二维的。”
请建议我应该应用哪过滤器。谢谢。

接受的答案

图像分析
图像分析 2012年8月4日
有数百个,噪声去除方法。这是一个非常简单的一个去除椒盐噪声使用修改后的中值滤波:
clc;%明确命令窗口。
清晰;%删除所有变量。
关闭所有;%关闭所有除由imtool图窗口。
imtool关闭所有;%由imtool关闭所有图窗口。
工作空间;%确定工作区面板显示。
字形大小= 15;
%读入一个标准的MATLAB演示图像颜色。
文件夹= fullfile (matlabroot,“\工具箱\ \ imdemos图像”);
baseFileName =“peppers.png”;
fullFileName = fullfile(文件夹,baseFileName);
%得到完整的文件名,路径前缀。
fullFileName = fullfile(文件夹,baseFileName);
如果~存在(fullFileName“文件”)
%没有找到它。检查它的搜索路径。
fullFileName = baseFileName;%没有路径。
如果~存在(fullFileName“文件”)
%仍然没有找到它。提醒用户。
errorMessage = sprintf (错误:%年代并不存在。,fullFileName);
uiwait (warndlg (errorMessage));
返回;
结束
结束
rgbImage = imread (fullFileName);
%得到图像的尺寸。numberOfColorBands应该= 3。
[行列numberOfColorBands] =大小(rgbImage);
%显示原始彩色图像。
次要情节(3、4、1);
imshow (rgbImage);
标题(“原始彩色图像”,“字形大小”、字形大小);
%全屏放大图。
集(gcf,“位置”get (0,“拉”));
%提取个人红、绿、蓝通道。
redChannel = rgbImage (:: 1);
greenChannel = rgbImage (:: 2);
blueChannel = rgbImage (:: 3);
%显示单独的红色,绿色和蓝色通道。
次要情节(3、4、2);
imshow (redChannel);
标题(“红色频道”,“字形大小”、字形大小);
次要情节(3、4、3);
imshow (greenChannel);
标题(“绿色通道”,“字形大小”、字形大小);
次要情节(3、4、4);
imshow (blueChannel);
标题(“蓝色通道”,“字形大小”、字形大小);
%生成一个嘈杂的图像。这有盐和胡椒噪声独立
%每个颜色通道的噪声可能是彩色的。
noisyRGB = imnoise (rgbImage,的盐和胡椒,0.05);
次要情节(3、4、5);
imshow (noisyRGB);
标题(与盐和胡椒噪声的图像,“字形大小”、字形大小);
%提取个人红、绿、蓝通道。
redChannel = noisyRGB (:: 1);
greenChannel = noisyRGB (:: 2);
blueChannel = noisyRGB (:: 3);
%显示噪声信道的图像。
次要情节(3、4、6);
imshow (redChannel);
标题(嘈杂的红色通道的,“字形大小”、字形大小);
次要情节(3、4、7);
imshow (greenChannel);
标题(“吵了绿色通道”,“字形大小”、字形大小);
次要情节(3、4、8);
imshow (blueChannel);
标题(嘈杂的蓝色通道的,“字形大小”、字形大小);
%中值滤波通道:
redMF = medfilt2 (redChannel [3 3]);
greenMF = medfilt2 (greenChannel [3 3]);
blueMF = medfilt2 (blueChannel [3 3]);
%找到红色的噪音。
noiseImage = (redChannel = = 0 | redChannel = = 255);
%去除噪声的红色与中值代替。
noiseFreeRed = redChannel;
noiseFreeRed (noiseImage) = redMF (noiseImage);
%找到绿色的噪音。
noiseImage = (greenChannel = = 0 | greenChannel = = 255);
%去除噪声的绿色与中值代替。
noiseFreeGreen = greenChannel;
noiseFreeGreen (noiseImage) = greenMF (noiseImage);
%找到蓝色的噪音。
noiseImage = (blueChannel = = 0 | blueChannel = = 255);
%去除噪声的蓝色与中值代替。
noiseFreeBlue = blueChannel;
noiseFreeBlue (noiseImage) = blueMF (noiseImage);
%重建自由RGB图像噪声
rgbFixed =猫(3 noiseFreeRed noiseFreeGreen noiseFreeBlue);
次要情节(3、4、9);
imshow (rgbFixed);
标题(恢复图像的,“字形大小”、字形大小);
4评论
图像分析
图像分析 2019年7月4日
我没有上传文件交换。它只是一个超过300演示。我怀疑有任何论文——如果有,不应该因为它是没有什么值得出版——它只是简单的简单的图像处理。没有名副其实的杂志会发布这样一个明显的和简单的算法。

登录置评。

答案(1)

nniv法拉
nniv法拉 2021年11月17日
灰色的
1评论
图像分析
图像分析 2021年11月17日
不知道这是一个对去噪图像回答最初的问题。“灰色”是一个函数主要使用colormaps时使用。它不能消除干扰图像。

登录置评。

标签

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!