您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > matlab > 图像增强与MATLAB实现
《数字图像处理》课程设计课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院学生班级:13级信息计算(2)班学生姓名:魏超学生学号:20130810010216指导老师:范自柱图像增强与MATLAB实现摘要数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。关键字:图像;图像增强;算法目录一、MATLAB的简介..............................................11.1MATLAB主要功能...........................................1二、MATLAB的主要功能..........................................12.1数字增强技术概述..........................................12.2数字图像的表示..........................................1三、直方图的均衡化............................................23.1图像的灰度................................................23.2灰度直方图................................................23.3直方图均衡化..............................................3四、图像二值化................................................44.1图像二值化................................................4五、对比度增强................................................55.1对比度增强................................................55.2灰度调整..................................................65.3对数变换..................................................7六、滤波......................................................86.1平滑滤波..................................................86.2线性平滑滤波程序:........................................86.3非线性滤波................................................9七、锐化.....................................................13八、参考文献.................................................14九、自我评价.................................................141一、Matlab的简介1.1MATLAB主要功能MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。二、MATLAB的主要功能2.1数字增强技术概述图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。2.2数字图像的表示图像并不能直接用计算机来处理,处理前必须先转化成数字图像。由于从外界得到的图像多是二维(2-D)的,一幅图像可以用一个2-D数组),(yxf表示。这里x和y表示二维空间XY中一个坐标点的位置,而f则代表图像在点),(yx的某种性质数值。为了能够用计算机对图像进行处理,需要坐标空间和性质空间都离散化。2三、直方图的均衡化3.1图像的灰度常用的图像一般是灰度图,这时f表示灰度值,反映了图像上对应点的亮度。亮度是观察者对所看到的物体表面反射光强的量度。作为图像灰度的量度函数),(yxf应大于零。人们日常看到的图像一般是从目标上反射出来的光组成的,所以),(yxf可看成由两部分构成:入射到可见场景上光的量;场景中目标对反射光反射的比率。确切地说它们分别称为照度成分),(yxi和反射成分),(yxr。),(yxf与),(yxi和),(yxr都成正比,可表示成),(yxf=),(yxi×),(yxr。3.2灰度直方图灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。程序如下:%灰度直方图I=imread('D:\image\rice.bmp');%读取图像subplot(2,1,1);Imshow(I);%显示图像title('(a)原图');subplot(2,1,2);imhist(I);%绘制图像的灰度直方图title('(b)原图的灰度直方图');3图4.13.3直方图均衡化直方图均衡化过程如下:(1)计算原图像的灰度直方图)(KrrP;(2)计算原图像的灰度累积分布函数ks,进一步求出灰度变换表;(3)根据灰度变换表,将原图像各灰度级映射为新的灰度级。灰度直方图均衡化程序:%灰度直方图均衡化I=imread('D:\image\bubbles.bmp');%读取图像subplot(2,2,1);Imshow(I);%显示图像title('原图');subplot(2,2,2);imhist(I);%绘制图像的灰度直方图title('原图的灰度直方图');subplot(2,2,3);J=histeq(I,64);%对图像进行均衡化处理,返回有64级灰度的图像JImshow(J);%显示图像title('原图直方图均衡化');subplot(2,2,4);imhist(J);%绘制图像的灰度直方图title('均衡后的灰度直方图')4以下展示了直方图均衡化的效果:图4.2优势:能够使得处理后图像的概率密度函数近似服从均匀分布,其结果扩张了像素值的动态范围,是一种常用的图像增强算法。不足:不能抑制噪声。四、图像二值化4.1图像二值化图像的二值化处理就是将图像上的像素点的灰度值设置为0或255,也就是讲整个图像呈现出明显的黑白效果。首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。图像二值化程序:%图像二值化(选取一个域值,(5)将图像变为黑白图像)I=imread('beauty.tif');bw=im2bw(I,0.5);%选取阈值为0.5subplot(1,3,1);imshow(I);5title('原图');subplot(1,3,2);imshow(bw);title('显示二值图像');J=find(I150);I(J)=0;J=find(I=150);I(J)=255;subplot(1,3,3);imshow(I);title('图像二值化(域值为150)');下图为图像二值化的效果:图4.3五、对比度增强5.1对比度增强对比度增强是按一定的规则修改输入图像每一个像素的灰度,从而改变图像灰度的动态范围。例如,观察图4.4可以发现,该图的对比度不高其灰度直方图没有低于35或高于210的值,如果将图像数据映射到整个灰度范围内,则图像的对比度将大大增大。6图4.45.2灰度调整灰度调整程序:%imadjust函数I=imread('D:\image\rice.bmp');%读取图像subplot(2,2,1);Imshow(I);%显示图像title('原图');subplot(2,2,2);imhist(I);%绘制图像的灰度直方图title('原图的灰度直方图');subplot(2,2,3);J=imadjust(I,[0.30.7],[]);%对图像进行灰度变换Imshow(J);%显示图像title('原图直方图均衡化');subplot(2,2,4);imhist(J);%绘制图像的灰度直方图title('均衡后的灰度直方图')以下展示了常用对比度扩展法的结果:7图4.5从图4.5【原图】可以看出原始图像动态范围较小,整体较暗,反映在直方图上像素主要集中在低灰度的一侧。经过对比度调整,图像变亮。5.3对数变换对数变化常用来扩展低值灰度,压缩高值灰度,这样可以使低值灰度的图像细节更容易看清。对数变换程序:%对数变换I=imread('beauty.tif');%读取图像I=mat2gray(I);%对数变换不支持uint8类型数据,将一个矩阵转化为灰度图像的数据格式(double)J=log(I+1);subplot(1,2,1);Imshow(I);%显示图像title('原图');subplot(1,2,2);Imshow(J);title('对数变换后的图像')8图4.6对数变换确实能够扩展低值灰度,而压缩高值灰度,使低值灰度的图像细节更容易看清。六、滤波6.1平滑滤波平滑技术用于平滑图像中的噪声。平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均或中值。为了既平滑噪声又保护图像信号。6.2线性滤波输出图像的值等于输入图像滤波后值的局部平均,各个项具有相同的权。下面是平滑窗口分别为矩形和圆形的情况。1111111111111111111111111251],[kjhrect0111011111111111111101110211],[kjhcirc对一些图像进行线性滤波可以去除图像中某些类型的噪声,如采用邻域平均法的均值滤波器就非常适用于去除通过扫描得到的图像中的颗粒噪声。6.2线性平滑滤波程序:%线性平滑滤波I=imread('beauty.tif');J=imnoise(I,'salt&pepper',0.02);subplot(221),imshow(I)title('原图像')subplot(222),imshow(J)9title('添加椒盐噪声图像')K1=filter2(fspecial('average',3),J)/255;%应用3*3邻域窗口法subplot(223),imshow(K1)title('3x3窗的邻域平均滤波图像')K2=filter2(fspecial('average',7),J)/255;%应用7*7邻域窗口法subplot(224),imshow(K2)title('7x7窗的邻域平
本文标题:图像增强与MATLAB实现
链接地址:https://www.777doc.com/doc-7027811 .html