常见的噪声种类
数字图像在获取、传输的过程中都可能会受到噪声的污染,常见的噪声主要有高斯噪声和椒盐噪声。其中,高斯噪声主要是由摄像机传感器元器件内部产生的,椒盐噪声主要是由图像切割所产生的黑白相间的亮暗点噪声,“椒”表示黑色噪声,“盐”表示白色噪声。
f=imread('3.jpg');
g=imnoise(f,'salt & pepper',0.06);
h=imnoise(f,'gaussian',0.05,0.05);
subplot(1, 3, 1), imshow(f), title('原图');
subplot(1, 3, 2), imshow(g), title('椒盐');
subplot(1, 3, 3), imshow(h), title('高斯');
去噪方法
空域
空域图像去噪用的有均值滤波算法和中值滤波算法,主要是对图像像素做邻域的运算来达到去噪结果。
g1 = imfilter(g, fspecial('average'));
g2 = medfilt2(g, [5 5]);
subplot(2, 2, 3), imshow(g1), title('均值滤波');
subplot(2, 2, 4), imshow(g2), title('中值滤波');
形态学去噪
数学形态学图像处理通过采用具有一定形态的结构元素去度量和提取图像中的对应形状,借助于集合理论来达到对图像进行分析和识别的目标,该算法具有以下特征。
1、图像信息的保持
在图像形态学处理中,可以通过已有目标的几何特征信息来选择基于形态学的形态滤波器,这样在进行处理时既可以有效地进行滤波,又可以保持图像中的原有信息。
2、图像边缘的提取
基于数学形态学的理论进行处理,可以在一定程度上避免噪声的干扰,相对于微分算子的技术而言具有较高的稳定性。形态学技术提取的边缘也比较光滑,更能体现细节信息。
3、图像骨架的提取
基于数学形态学进行骨架提取,可以充分利用集合运算的优点,避免出现大量的断点,骨架也较为连续。
4、图像处理的效率
基于数学形态学进行图像处理,可以方便地应用并行处理的技术来进行集合运算,具有效率高、易于硬件实现的特点。
权重自适应的多结构形态学去噪
在数学形态学图像去噪的过程中,通过适当地选取结构元素的形状和维数可以提高滤波去噪的效果。在多结构元素的级联过程中,需要考虑到结构元素的形状和维数。数字图像在进行数学形态滤波去噪时,根据噪声特点可以尝试采用维数由小到大的结构元素来进行处理,进而达到滤除不同噪声的目的。采用数学形态学的多结构元素,可以更多地保持数字图像的几何特征。因此,选择构建串联滤波器来进行图像滤波,就是将同一形状的结构元素按维数从小到大的顺序来对图像进行滤波。
>> i=imread('food.jpg');
>> i=rgb2gray(i);
>> %添加噪声
>> ig=imnoise(i,'poisson');
>> %获取算子
>> s=GetStrelList();
>> %串联去噪
>> edit erodeList
>> e=erodeList(ig,s);
>> edit getRateList
>> %计算权重
>> f=getRateList(ig,e);
>> edit getRemoveResult
>> %并联
>> igo=getRemoveResult(f,e);
>> %显示结果
>> subplot(1,2,1),imshow(f);
>> subplot(1,2,1),imshow(i);
>> title('原图像');
>> subplot(1,2,2),imshow(ig),title('噪声图像');
>> figure;
>> subplot(2,2,1),imshow(e.eroded_co12);title('串联1处理结果');
>> subplot(2,2,2),imshow(e.eroded_co22);title('串联2处理结果');
>> subplot(2,2,3),imshow(e.eroded_co32);title('串联3处理结果');
>> subplot(2,2,4),imshow(e.eroded_co42);title('串联4处理结果');
>> figure;
>> subplot(1,2,1),imshow(ig),title('噪声图像');
>> subplot(1,2,2),imshow(igo),title('并联去噪图像');