matlab统计二值化图像亮特征提取,基于Matlab的图像灰度分析及高斯白噪声的研究...

崔乔

摘 要:通过Matlab对图像进行直方图分布,利用峰值找到图像阈值。对存在高斯白噪声的仿真图像进行去噪的效果分析,通过仿真的手法对其进行比较。最后通过Matlab的进行仿真,利用维纳滤波法、中值滤波法等有效手段,对图形图像进行处理分析,通过对比几组滤波方法发现维纳滤波法和中值滤波法都适合去除高斯白噪声。

关键词:Matlab;高斯白噪声;维纳滤波法

中图分类号:TP391 文献标志码:A 文章编号:2095-2945(2018)27-0060-02

Abstract: The histogram distribution of the image is performed by Matlab, and the image threshold is found using the peak value. The effect of denoising on the simulated image with white Gaussian noise (WGN) is analyzed and compared by simulation. Finally, through Matlab simulation and Wiener filtering method, median filtering method and other effective means, the graphics image is processed and analyzed. By comparing several sets of filtering methods, it is found that both Wiener filtering and median filtering are suitable for removing white Gaussian noise.

Keywords: Matlab; white Gaussian noise (WGN); Wiener filtering

图像处理技术是在信息发达社会,人们获取信息的途径和手段之一。在使用者传递有用图像信号的过程中,经过传输,采集,量化,编码,恢复等过程中,会导致图像的质量下降。所以,在图像产生分割,特征提取以及模式识别之前,就要利用合适的方式方法,对图像进行合适的处理,通过这种方式来提升图像的有关质量,比如:降噪,压缩编码或者采样。所以,通过仿真模拟图像灰度,找到图像的直方图,对直方图进行分析,利用方差,找到其阈值。对阈值进行分析,再通过适当的方法对噪声图像进行分析,完成对图像的仿真去噪处理。

1 图像处理

1.1 导入图像

通过Matlab的imread程序,先将名为“图片”的图像导入Matlab的图像之中。Imread就是将每一个图片數据,以二维数组的形式在每一张图片的像素点的颜色值存储起来,其中还有一些附加信息,比如图片的类型、大小、图像数据区的偏移量,是否压缩等特点。不同的图片格式也有不同的效果。

1.2 将图像转为灰度值

利用g=rgb2gray

rgb2gray是通过消除图像色调饱和度信息来将图像从彩色转换为灰度图像的方法,就是灰度化的处理功能。灰度值的处理利用多种处理方式:分量法,最大法和加权平均法。其中,应用于Matlab 中采用的是对R、G、B分量进行加权平均的算法:

0.2989R+0.5870G+0.1140B

其中R、G、B代表三原色的基本单位。

1.3 灰度图像的直方图分布

直方图(Histogram)被称为质量分布图,属于统计报告图。通过高度不等的纵向线段来表示数据的分布情况。在该分布上,有横纵两种轴,其中横轴所表示的是数据的类型,纵轴表示数据的分布情况。

直方图可以将数据更直观更精确的表示出来。卡尔·皮尔逊(Karl Pearson)首先引入直方图,由于直方图作为条形图,首先可以将它的值范围分段,分段后整个值的范围就会形成间隔,可以对每个间隔的值进行计算,由于这些值是连续不重叠的,那么它们的大小会相同,并且相互相邻。直方图分布是计算图像中出现的每个灰度图像(0-255)中的像素数,所以指令不需要过于明确。

1.4 求取阈值

在图像的概念中,“阈值”是将彩色图像或者灰色图像转换为黑白图像从而得到比较高的对比度。比如在图像中指定一个色阶作为阈值,那么意味着比该阈值高的像素都可以化作为白色,而比该阈值低的像素则可作为黑色。由于阈值的存在,才有了明确的最亮区域和最暗区域。所以阈值作为临界值,也就可以更好的区别一个图片的黑白分界。

通过观察看出其中存在两个峰值。两个峰的x值分别为是x=36和x=180。通过公式对阈值进行计算,可以得到。因此分割点将是x=(3+246)÷2÷255=0.4235。符合由于阈值范围[0,1]。所以,可对图像利用阈值进行检测,看是否符合黑白图像划分明显的特点。

在Matlab中输入以下程序:

f=imread('Camel.jpg');g=rgb2gray(f);b=im2bw(g,0.4235);imshow(b);

仿真后可以明确,该图像的阈值符合标准,能够很清晰的将“图片”部分展示出来,通过这种调整,可以看出图像黑白分明,要求的目标也很清晰明了。

2 高斯白噪声研究

高斯白噪声指的是在一般范围内,一个噪声符合高斯分布而且热噪声部分在工作的范围内是均匀分布,就如同白色光线在光谱中的分布一样的均匀,那么该噪声就是高斯白噪声。主要是热噪声的产生来源于自由电子运动,所以其统计特性符合高斯分布。

通过Matlab对灰度图“图片”进行高斯白噪声的模拟,依照以下程序,f=imread('Camel.jpg');

g=rgb2gray(f);n=imnoise(g,'gaussian',0.10); imshow(n) t1=wiener2(n);figure,imshow(t1);

其中的白噪声强度为0.10。

2.1 维纳滤波法

维纳所提出的-最佳滤波器的研究为基础的。所以利用线性滤波器,利用输入信号和噪声的二阶统计特性,根据最小的均方误差-即输出信号与需要信号之差的均方最小值,可以得到最佳的滤波器参数,这就是维纳滤波器。

利用维纳滤波器,可以算出局部的矩阵和方差:

通过图像的方差,可以按照局部的方差调整线性滤波器的相关输出,吐过滤波器的方差比较大,降噪效果也比较差,反之则效果较强。

结果分析:从维纳滤波的仿真结果可以看出,基于最小均方误差准则的维纳滤波器,最优的给予图像处理平滑的过程。维纳滤波器具有比较好的选择性,很好的保护了图像边缘的相关信息并且对频率较高的区域进行了有效的处理,可用于提取静止噪声污染信号。

2.2 中值滤波法

中值滤波最大的特点在于,既能对噪声具有良好的去除作用又能保护好图像的边缘,使其不受任何损害,图像的边缘不会被模糊。中值滤波具有一个不再变化的序列称为根序列,通过对根序列的研究可以确定原信号的序列中,将确定保留与抑制哪些信号。

通過直方图实现中值滤波。从左到右累加直方图中每个灰度层级下像素点个数,当像素点个数大于直方图阈值时,这时的灰度值就是当前窗口内所有像素值的中值。将中值赋值给窗口中心像素,表明第一个像素中值滤波完成。其他步骤,以此类推。通过更新的直方图,可以得到中值滤波后的高斯噪声处理。

中值滤波对去除高斯白噪声来说有一定效果,但效果不如维纳滤波器,但中值滤波法易于计算,能够很好地保护图像的边界。虽然窗口越大对滤波的效果越好,但会导致图像模糊。

3 结束语

如何利用Matlab进行阈值测算以及图像处理,都是非常关键的。本文利用Matlab对其中三种去除高斯的白噪声方法进行了测算,得到以下几个结论:维纳滤波对于高斯白噪声的降噪效果极佳。中值滤波虽然可以达到良好的降噪效果,但对高斯白噪声而言,过于模糊,并不是最佳选择。

参考文献

[1]赛地瓦尔地·买买提.基于Matlab的几种图像去噪方法研究[J].河南科学,2013(09).

[2]陈思.基于Otsu算法的车牌图像二值化及其Matlab实现[J].长春师范学院学报,2012(03).

[3]盛仲飙.基于Matlab的图像去噪算法研究[J].河南科学,2011(10).

[4]江景涛,姜学东,李福荣.利用中值滤波去除图像噪声的研究及MATLAB实现[J].莱阳农学院学报,2006(01).

你可能感兴趣的:(matlab统计二值化图像亮特征提取,基于Matlab的图像灰度分析及高斯白噪声的研究...)