- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MATLAB的图像研究
基于MATLAB的图像研究
直方图均衡化处理
基本原理
在实际应用中,希望能够有目的地增强某个灰度区间的图像, 即能够人为地修正直方图的形状, 使之与期望的形状相匹配,这就是直方图规定化的基本思想。换句话说,希望可以人为地改变直方图形状,使之成为某个特定的形状,直方图规定化就是针对上述要求提出来的一种增强技术,它可以按照预先设定的某个形状来调整图像的直方图。每一可能的灰度层次所占的像素个数尽量均等,每个像素具有同样的显示机会,从而使图像细节清晰,改善图像的整体对比度。
直方图及其均衡化结果
图1 直方图及其均衡化
空域图像处理
均值滤波
对一些图像进行线性滤波可以去除图像中某些类型的噪声。领域平均法就是一种非常适合去除通过扫描得到的图像中的噪声颗粒的线性滤波。
领域平均法是空间域平滑噪声技术。对于给定的图像中的每个像素点,取其领域S。设S含有M个像素,取其平均值作为处理后所得图像像素点处的灰度。用一像素领域内各像素灰度平均值来代替该像素原来的灰度,即领域平均技术。
领域S的形状和大小根据图像特点确定。一般取的形状是正方形、矩形及十字形等,S的形状和大小可以在全图处理过程中保持不变,也可以根据图像的局部统计特性而变化,点(m,n)一般位于S的中心。如S为3×3领域,点(m,n)位于S中心,则
中值滤波
中值滤波是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。但是对一些细节多,特别是点、线、尖顶细节多的图像不宜采用中值滤波的方法。中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替。
设有一个一维序列,,…,,取窗口长度为m(m为奇数),对此序列进行中值滤波,就是从输入序列中相继抽出m个数,,…,,…,,…,,…,,其中为窗口的中心位置,,再将这m个点按其数值大小排列,取其序号为正中间的那作为输出。用数学公式表示为:
在进行滤波前,首先给图像添加噪声,在此,给图像添加高斯噪声和椒盐噪声,并进行均值滤波和中值滤波得到图像如下:
图2高斯噪声与椒盐噪声下的均值滤波与中值滤波
结果分析
中值滤波和均值滤波后,都残留一些噪点,但是均值滤波残留的噪点量要明显小于中值滤波。说明均值滤波对于线性的高斯噪声的滤波效果要优于中值滤波。
图像锐化
图像锐化的基本概述
图像在传输过程中,通常质量都要降低,除了噪声因素外,图像一般都要变得模糊。这主要是因为图像的传输或转换系统的传递函数对高频成分的衰减作用,造成图像的细节轮廓不清晰。图像锐化就是使灰度反差增强,从而增强图像中边缘信息,有利于轮廓抽取。因为轮廓或边缘就是图像中灰度变化率最大的地方。因此,为了把轮廓抽取出来,就是要找一种方法把图像的最大灰度变化处找出来。
在拉普拉斯算子下的空域锐化结果如下:
图3 拉普拉斯算子下的空域锐化结果
频域图像处理
频率域平滑处理就是选择合适的低通滤波器对其频谱成分进行调整,然后经逆傅立叶变换得到平滑图像。其中常用的频率域平滑处理方法一般为频率域低通滤波法。频率域低通滤波是在分析图像信号的频率特征性时,一幅图像中的边缘、跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区则代表图像信号的低频分量。用滤波的方法滤除其高频部分就能去除噪声,使图像得到平滑。
Butterworth滤波器下的平滑锐化处理
图4 频域低通滤波(平滑)
图5 频域高通滤波(锐化)
附录
%%%%%%%%%直方图及其均衡化
clear;
I=imread(peng.jpg);
I=rgb2gray(I);
I2=I;
add=[];
add1=[];
tab1=zeros(1,256);
tab2=zeros(1,256);
for n=0:255
X=I==n;
add=[add;sum(sum(X))];
end;
[a,b]=size(I);
final=add/(a*b);
for n=1:256
for i=1:n
tab1(n)=tab1(n)+final(i);
end;
end;
tab1=tab1*255;
tab2=round(tab1);
for n=1:a
for m=1:b
for t=0:255
if I(n,m)==t
I2(n,m)=tab2(t+1);
end;
文档评论(0)