matlab空域滤波,MATLAB数字图像处理基本操作及空域滤波

41528d3028836879cd698677c3999917.gifMATLAB数字图像处理基本操作及空域滤波

实验一 MATLAB 数字图像处理基本操作及空域滤波实验目的1、了解有关数字图像处理的基本概念,熟悉Matlab软件中关于数字图像处理的基本命令,掌握利用Matlab软件进行数字图像处理的简单方法。2、了解并掌握直方图统计方法以及分段线性拉伸、直方图均衡等亮度调整算法,通过观察对这些运算建立感性认识。3、掌握空域滤波中常用的平滑和锐化滤波器。实验内容1. 观察各类图像的直方图;操作 LUT 灰度对照表,进行分段线性拉伸;采用直方图均衡方法对低对比度的图像进行对比度增强。2.掌握图像模板卷积运算的实质,认识各种模板的处理效果;3. 掌握邻域平均及中值滤波降噪方法的特点,认识其功能及适用场合;4. 掌握拉普拉斯算子、Sobel 算子、Prewitt 算子和 Isotropic 算子的特点,认识其功能及适用场合。实验原理1、数字图像以一定的格式存放在计算机的存储器中(如磁盘) ,常见的格式有BMP,TIF,PCX等等,要进行数字图像处理,第一项工作就是把图像读到计算机的内存中,以便进行进一步的处理。在Matlab中,函数imread()完成此项工作。下面一小段Matlab语句即可实现将图像“rice.tif”显示在一个图像窗口的左边,将其轮廓图显示在该窗口的右边。I=imread( rice.tif ); subplot(1,2,1);imshow(I)subplot(1,2,2);imcontour(I);这里,imread(‘rice.tif’)将磁盘上的图像文件rice.tif读入内存变量I中,subplot(1,2,1)生成一个可以横向放置2幅图像的窗口,并设置下一显示位置在左边,imshow(I)显示图像I,subplot(1,2,2)准备下一图像的显示位置,imcontour(I)生成图像I的轮廓并显示在窗口的右边。数字图像一般可分为二值图、灰度图和真彩图等几类。bw=imread( text.tif );bw2=imcomplement(bw);subplot(1,2,1),imshow(bw)subplot(1,2,2),imshow(bw2)这里函数imcomplement(bw)完成对二值图像text.tif(bw)的求补运算。 (即原来黑的变白的,原来白的变黑的。 )该函数也可以用于灰度图像,此时图像的数据被255减。在Matlab中,函数imresize(X,M,)可用来改变图像的大小,其中X表示图像,实数M0是放大倍数,用来选择计算数据的方法,其可取值及意义分别为:“nearest”—最近邻插值法, “bilinear”—双线性插值法, “bicubic”—双三次插值法。下面这段程序调整图像的大小:I=imread( circuit.tif );J=imresize(I,1.25);imshow(I)figure,imshow(J)也可以指定目标图像的大小,此时imresize()的调用格式为:Y=imresize(X,[320,480])其中[320,480]表示将图像的大小调整为320 480。函数imrotate对图像进行旋转操作,我们看如下的程序段:I=imread( cameraman.tif );J=imrotate(I,-15, bilinear );K=imrotate(I,-15, bilinear , crop );imshow(I)figure,imshow(J)figure,imshow(K)注意右边的图像是由参数“crop”实现的,该参数表示将旋转后的图像取与原图像相同的中心部分输出。2、直方图的定义图象的灰度直方图是一个函数,表示数字图象中每一灰度级与该灰度级出现的频数(即具有这一灰度级的象素数目)间的对应关系: PbNM()M 为一幅图象所包含的象素总数; N(b)为图象中灰度值为 b 的象素总数。通常,以灰度值 b 为横坐标, N(b)为纵坐标。直方图是图象中象素灰度值的一阶概率分布密度的一种近似。3、对比度增强对比度增强又称为点运算,逐点改变输入图象的每一象素的灰度,而各象素的位置不改变,一般用来拓宽图象的灰度范围。(1) 灰度变换法(LUT 对照)典型的对比度拉伸灰度变换关系如图 1 所示,其对应关系如下:gffaagbfbfL 0()式中, f、 g 分别表示输入及输出图象, 、 、 为折线段的斜率, a、 b 决定低、中、高灰度级的范围。选择不同的 、 、 、 a、 b、 ga及 gb数值,可得到各种各样的灰度拉伸效果。灰度变换前后的灰度变化范围是不变的,对一部分灰度区域的扩张(感兴趣区)都是以其它区域的压缩为代价的。可见,输出和输入图象之间各点的灰度是按照一定的映射关系相联系的,这种映射关系在计算机中则是通过一个查照表(look-up table,即 LUT)实现的。通过 LUT 对照改变了图象中不同灰度特性趋于的对比度或反差(contrast) ,达到改善视觉效果的目的。(2) 直方图均衡直方图均衡(histogram equalization)就是通过点运算使输入图像的灰度分布较为均匀,使图像具有较好的视觉效果。设 r, s 分别为原图和新图的灰度, r(r), s(s)分别gLgbgafLba0图 1. 典型的对比度拉伸灰度变换关系为原图及新图的概率密度函数,则均衡变换为原图像的累积分布函数: sTrr()()0对于离散图像,均衡转换公式为: kjkjjrk nMLPs 0max0)()(其中,L max 指图像中的最大灰度值(对于灰度图像就是 255) 。下面给出直方图均衡化增强图像对比度的 MATLAB 程序:I=imread(‘原图像名.gif); % 读入原图像J=histeq(I); %对原图像进行直方图均衡化处理Imshow(I); %显示原图像Title(‘原图像’); %给原图像加标题名Figure;imshow(J); %对原图像进行屏幕控制;显示直方图均衡化后的图像Title(‘直方图均衡化后的图像’) ; %给直方图均衡化后的图像加标题名Figure; subplot(1,2,1) ;%对直方图均衡化后的图像进行屏幕控制;作一幅子图作为并排两幅图的第 1 幅图Imhist(I,64); %将原图像直方图显示为 64 级灰度Title(‘原图像直方图’) ; %给原图像直方图加标题名Subplot(1,2,2); %作第 2 幅子图Imhist(J,64) ; %将均衡化后图像的直方图显示为 64 级灰度Title(‘均衡变换后的直方图’) ; %给均衡化后图像直方图加标题名处理后的图像直方图分布更均匀了,图像在每个灰度级上都有像素点。从处理前后的图像可以看出,许多在原始图像中看不清楚的细节在直方图均衡化处理后所得到的图像中都变得十分清晰。4、图像平滑和锐化的空间域方法都可表示为模板卷积的形式。如可将邻域平均处理看作一个作用于图象 f(m,n)的低通滤波器,该滤波器的脉冲响应为 H(r, s),用离散卷积表示如下: 1 ,2 ,0 ),((),( NnsrrffkrllsKk、 l 由邻域大小决定,一般取

你可能感兴趣的:(matlab空域滤波)