数字图像处理大作业.doc

合集下载

《数字图像处理》期末大作业(1)

《数字图像处理》期末大作业(1)

《数字图像处理》期末大作业大作业题目及要求:一、题目:本门课程的考核以作品形式进行。

作品必须用Matlab完成。

并提交相关文档。

二、作品要求:1、用Matlab设计实现图形化界面,调用后台函数完成设计,函数可以调用Matlab工具箱中的函数,也可以自己编写函数。

设计完成后,点击GUI图形界面上的菜单或者按钮,进行必要的交互式操作后,最终能显示运行结果。

2、要求实现以下功能:每个功能的演示窗口标题必须体现完成该功能的小组成员的学号和姓名。

1)对于打开的图像可以显示其灰度直方图,实现直方图均衡化。

2)实现灰度图像的对比度增强,要求实现线性变换和非线性变换(包括对数变换和指数变换)。

3)实现图像的缩放变换、旋转变换等。

4)图像加噪(用输入参数控制不同噪声),然后使用空域和频域进行滤波处理。

5)采用robert算子,prewitt算子,sobel算子,拉普拉斯算子对图像进行边缘提取。

6)读入两幅图像,一幅为背景图像,一幅为含有目标的图像,应用所学的知识提取出目标。

3、认真完成期末大作业报告的撰写,对各个算法的原理和实验结果务必进行仔细分析讨论。

报告采用A4纸打印并装订成册。

附录:报告模板《数字图像处理》期末大作业班级:计算机小组编号:第9组组长:王迪小组成员:吴佳达浙江万里学院计算机与信息学院2014年12月目录(自动生成)1 绘制灰度直方图,实现直方图均衡化 (5)1.1 算法原理 (5)1.2 算法设计 (5)1.3 实验结果及对比分析 (5)2 灰度图像的对比度增强 (5)2.1 算法原理 (5)2.2 算法设计 (5)2.3 实验结果及分析 (5)3 图像的几何变换 (5)3.1 算法原理 (5)3.2 算法设计 (5)3.3 实验结果及分析 (5)4 图像加噪(用输入参数控制不同噪声),然后使用空域和频域进行滤波处理 (5)4.1 算法原理 (5)4.2 算法设计 (6)4.3 实验结果及分析 (6)5 采用robert,prewitt,sobel,拉普拉斯算子对图像进行边缘提取 (6)5.1 算法原理 (6)5.2 算法设计 (6)5.3 实验结果及分析 (6)6 读入两幅图像,一幅为背景图像,一幅为含有目标的图像,应用所学的知识提取出目标 (6)6.1 算法原理 (6)6.2 算法设计 (6)6.3 实验结果及分析 (6)7 小结(感受和体会) (6)1 绘制灰度直方图,实现直方图均衡化1.1 算法原理图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。

数字图像处理大作业

数字图像处理大作业

1、下图是一用于干涉原理进行测试的干涉场图像,要求判读条纹的间距,请给出图像处理的方案并说明每一步的作用及其对其它处理步骤可能产生的影响。

解:步骤与思路:○1.进行模糊处理,消除噪声○2.边缘检测,进行图像增强处理○3.二值化图像,再进行边缘检测,能够得到很清晰的边界。

○4.采用横向标号法,根据值为1像素在标号中的相邻位置可以确定间距I=imread('xz mjt.bmp');I1=medfilt2(I); %对图像中值滤波imshow(I1);[m,n]=size(I1);for i=1:mfor j=1:nif(I1(i,j)<100) %阈值为100I1(i,j)=255;elseI1(i,j)=0; %进行二值化endendendfigure;imshow(I1);Y1=zeros(1,25);y2=y1;c=y2;i=100;for j=1:1200if (I1(i,j)==255&&I1(i,j+1)==0)Y1=j+1;endif (I1(i,j)==0&&I1(i,j+1)==255)Y2=j;endendfor i=1:25c=Y2(i)-Y1(i)endc %找出每两个条纹之间的距离2. 现有8个待编码的符号m0,……,m7,它们的概率分别为0.11,0.02,0.08,0.04,0.39,0.05,0.06,0.25,利用哈夫曼编码求出这一组符号的编码并画出哈夫曼树。

3. 请以图像分割方法为主题,结合具体处理实例,采用期刊论文格式,撰写一篇小论文。

各种算子对图像进行边缘检测效果的研究图像分割是根据需要将图像划分为有意义的若干区域或部分的图像处理技术。

通过边缘检测在Matlab 中实现方法,及用四叉数分解函数进行区域分割的方法,掌握了Matlab 区域操作函数的使用和图像分析和理解的基本方法,并学到了'roberts','sobel','prewitt','canny','log'算子对图像进行边缘检测的不同效果。

数字图像处理大作业-昆明理工大学-尚振宏

数字图像处理大作业-昆明理工大学-尚振宏

数字图像基础课程名称:数字图像基础学院:信息工程与自动化学院专业年级: 2010级计算机系班学号: 2010104052 学生姓名:指导教师:尚振宏日期: 2013-6-11目录目录 (1)1前言 (2)2图像分割的方法简介 (3)2.1迭代法 (3)2.2类间最大距离法 (3)2.3最大熵法 (4)2.4最大类内类间方差比法 (4)2.5局部阈值法 (5)2.6均匀性度量法 (6)3简单算法及其实现 (6)3.1最优阈值算法 (6)3.2 Canny算法 (8)4、试验对比 (10)4.1迭代法试验对比 (10)4.2类间最大距离法试验对比 (10)4.3最大熵法试验对比 (11)4.4最大类内类间方差比法试验对比 (11)4.5局部阈值法试验对比 (12)4.6均匀性度量法试验对比 (12)5、总结体会 (13)6、参考文献 (13)7、附录 (14)7.1迭代法代码 (14)7.2类间最大距离法代码 (14)7.3最大熵法代码 (15)7.4最大类内类间方差比法代码 (16)7.5局部阈值法代码 (18)7.6均匀性度量法代码 (18)1、前言图像分割是图像处理中的一项关键技术,自20世纪70年代起一直受到人们的高度重视,至今已提出上千种分割算法,但因尚无通用的分割理论,现提出的分割算法大都是针对具体问题的,并没有一种适合所有图像的通用分割算法。

另外,还没有制定出选择适用分割算法的标准,这给图像分割技术的应用带来许多实际问题。

最近几年又出现了许多新思路、新方法或改进算法。

总的来说,图像分割是图像识别和图像分析的基本前提步骤,图像分割的质量好坏直接影响后续图像处理的效果,甚至决定成败。

因此,图像分割在数字图像处理技术中占有非常重要的地位。

图像分割时指将一副图像分解为若干互不交叠的、有意义的、具有相同性质的区域。

好的图像分割应具备以下特征:⑴分割出来的各个区域对某种特性(例如灰度和纹理)而言具有相似性,区域内部是连通的且没有过多小孔。

数字图像处理大作业报告

数字图像处理大作业报告

数字图像处理实验报告实验选题:选题二组员:学号:班级:指导老师:实验日期:2019年5月22日一、实验目的及原理1.识别出芯片的引脚2.熟悉并掌握opencv的某些函数的功能和使用方法原理:通过滤波、形态学操作得到二值图,再在二值图中设置条件识别引脚部分。

二、实现方案对图片滤波、调节阈值做边缘检测过滤掉一部分图片中干扰元素;然后通过膨胀、腐蚀操作来减少引脚的空心部分;再通过findContours()函数找到引脚的边缘并得到轮廓的点集,设置特定的长宽比和矩形面积识别引脚部分。

三、实验结果四、源码#include<iostream>#include<cmath>#include"opencv2/highgui/highgui.hpp"#include"opencv2/imgproc/imgproc.hpp"using namespace std;using namespace cv;int main(int argv, char **argc){//载入图片Mat srtImag = imread("2.jpg");Mat G_blur = srtImag.clone();//降噪blur(G_blur, G_blur, Size(5, 5));//imshow("降噪", G_blur);//Canny边缘检测Mat Canny_Imag = G_blur;Canny_Imag = Canny_Imag > 176;Canny(G_blur, Canny_Imag, 300, 50, 3);//imshow("边缘检测", Canny_Imag);//膨胀Mat element = getStructuringElement(MORPH_RECT, Size(10, 10));dilate(Canny_Imag, Canny_Imag, element);//imshow("膨胀", Canny_Imag);//腐蚀Mat element_1 = getStructuringElement(MORPH_RECT, Size(11, 11));erode(Canny_Imag, Canny_Imag, element_1);//imshow("腐蚀", Canny_Imag);//查找轮廓vector<vector<Point>>contours;vector<Vec4i>hierarchy;findContours(Canny_Imag, contours, hierarchy, RETR_CCOMP, CHAIN_APPROX_SIMPLE);vector<vector<Point>> contour_s(contours.size());//该数组共有contours.size()个轮廓的点集vector<Rect> Rec_s(contours.size());//逼近多边形的点集数组//获得每个轮廓点集的逼近多边形的点集for (size_t i = 0; i < contours.size(); i++) {approxPolyDP(Mat(contours[i]), contour_s[i], 3,false);//contour_s存储逼近多边形的点集Rec_s[i]= boundingRect(contour_s[i]); //Rec_s存储最小包围矩形的点集}//筛选合适长宽比的矩形并将其画出来Mat result_Imag = srtImag.clone();for (size_t j = 0; j < contours.size(); j++) {double as_ra;//长宽比as_ra = Rec_s[j].height / Rec_s[j].width;if (as_ra > 3.3 && as_ra < 9.3 && Rec_s[j].area() > 20) { rectangle(result_Imag, Rec_s[j], Scalar(0, 255, 255), 2, 7);}}imshow("result", result_Imag);waitKey(0);return 0;}五、总结经过这次实验,我熟悉了对blur()、Canny()、dilate()、erode()、findContours()、approxPolyDP()等函数的使用,了解了Rect类的构成等。

(完整版)数字图像处理大作业

(完整版)数字图像处理大作业

数字图像处理1.图像工程的三个层次是指哪三个层次?各个层次对应的输入、输出对象分别是什么?①图像处理特点:输入是图像,输出也是图像,即图像之间进行的变换。

②图像分割特点:输入是图像,输出是数据。

③图像识别特点:以客观世界为中心,借助知识、经验等来把握整个客观世界。

“输入是数据,输出是理解。

2.常用的颜色模型有哪些(列举三种以上)?并分别说明颜色模型各分量代表的意义。

①RGB(红、绿、蓝)模型②CMY(青、品红、黄)模型③HSI(色调、饱和度、亮度)模型3.什么是图像的采样?什么是图像的量化?1.采样采样的实质就是要用多少点来描述一幅图像,采样结果质量的高低就是用前面所说的图像分辨率来衡量。

简单来讲,对二维空间上连续的图像在水平和垂直方向上等间距地分割成矩形网状结构,所形成的微小方格称为像素点。

一副图像就被采样成有限个像素点构成的集合。

例如:一副640*480分辨率的图像,表示这幅图像是由640*480=307200个像素点组成。

2.量化量化是指要使用多大范围的数值来表示图像采样之后的每一个点。

量化的结果是图像能够容纳的颜色总数,它反映了采样的质量。

针对数字图像而言:采样决定了图像的空间分辨率,换句话说,空间分辨率是图像中可分辨的最小细节。

量化决定了图像的灰度级,即指在灰度级别中可分辨的最小变化。

数字图像处理(第三次课)调用图像格式转换函数实现彩色图像、灰度图像、二值图像、索引图像之间的转换。

图像的类型转换:对于索引图像进行滤波时,必须把它转换为RGB图像,否则对图像的下标进行滤波,得到的结果是毫无意义的;2.用MATLAB完成灰度图像直方图统计代码设计。

6789101112131415161718192021222324252627282930title('lady-lenna');if isrgb(a);b=rgb2gray(a);%RGB转换为灰度图像endsubplot(2,2,2);imshow(b);%显示图像title('ladygaga-lenna');[m,n]=size(a);%返回图像大小e=zeros(1,256);for k=0:255for i=1:mfor j=1:nif a(i,j)==ke(k+1)=e(k+1)+1;%灰度值相同的进行累加endendendendsubplot(2,2,4);bar(e);%画图像的灰度直方图title('灰度直方图');c=imrotate(a,20);%图像的旋转subplot(2,2,3);imshow(c);数字图像处理(第四次课)编写matlab函数,实现在医学图像中数字减影血管造影。

数字图像处理大作业(DOC)

数字图像处理大作业(DOC)

大作业指导书题目:数字图像处理院(系):物联网工程学院专业: 计算机班级:计算机1401-1406指导老师:学号:姓名:设计时间: 2016-2017学年 1学期摘要 (3)一、简介 (3)二、斑点数据模型.参数估计与解释 (4)三、水平集框架 (5)1.能量泛函映射 (5)2.水平集传播模型 (6)3.随机评估方法 (7)四、实验结果 (8)五、总结 (11)基于水平集方法和G0模型的SAR图像分割Abstract(摘要)这篇文章提出了一种分割SAR图像的方法,探索利用SAR数据中的统计特性将图像分区域。

我们假设为SAR图像分割分配参数,并与水平集模型相结合。

分布属于G分布中的一种,处于数据建模的目的,它们已经成功的被用于振幅SAR图像中不同区域的建模。

这种统计数据模型是驱动能量泛函执行区域映射的基础,被引用到水平集传播数值方案中,将SAR 图像分为均匀、异构和极其异构区域。

此外,我们引入了一个基于随机距离和模型的评估过程,用于量化我们方法的鲁棒性和准确性。

实验结果表明,我们的算法对合成和真实SAR 数据都具有准确性。

+简介1、Induction(简介)合成孔径雷达系统是一种成像装置,采用相干照明比如激光和超声波,并会受到斑点噪声的影响。

在SAR图像处理过程中,返回的是斑点噪声和雷达切面建模在一起的结果。

这个积性模型(文献[1])因包含大量的真实SAR数据,并且在获取过程中斑点噪声被建模为固有的一部分而被广泛应用。

因此,SAR图像应用区域边界和目标检测变得更加困难,可能需要斑点去除。

因此,斑点去除是必需的,有效的方法可以在文献[2][3][4][5][6][7][8][9][10]中找到。

对于SAR图像分割,水平集方法构成一类基于哈密顿-雅克比公式的重要算法。

水平集方法允许有效的分割标准公式,从文献[12]中讨论的传播函数项可以得到。

经典方法有着昂贵的计算成本,但现在的水平集的实现配置了有趣的低成本的替换。

《数字图像处理》复习大作业及答案

《数字图像处理》复习大作业及答案

20XX年上学期《数字图像处理》复习大作业及参考答案=====================================================一、选择题(共20题)1、采用幂次变换进行灰度变换时,当幂次取大于1时,该变换是针对如下哪一类图像进行增强。

(B)A 图像整体偏暗B 图像整体偏亮C图像细节淹没在暗背景中D图像同时存在过亮和过暗背景2、图像灰度方差说明了图像哪一个属性。

(B )A 平均灰度B 图像对比度C 图像整体亮度D图像细节3、计算机显示器主要采用哪一种彩色模型( A )A、RGBB、CMY或CMYKC、HSID、HSV4、采用模板[-1 1]T主要检测( A )方向的边缘。

A.水平B.45︒C.垂直D.135︒5、下列算法中属于图象锐化处理的是:( C )A.低通滤波B.加权平均法C.高通滤波D. 中值滤波6、维纳滤波器通常用于( C )A、去噪B、减小图像动态范围C、复原图像D、平滑图像7、彩色图像增强时, C 处理可以采用RGB彩色模型。

A. 直方图均衡化B. 同态滤波C. 加权均值滤波D. 中值滤波8、__B__滤波器在对图像复原过程中需要计算噪声功率谱和图像功率谱。

A. 逆滤波B. 维纳滤波C. 约束最小二乘滤波D. 同态滤波9、高通滤波后的图像通常较暗,为改善这种情况,将高通滤波器的转移函数加上一常数量以便引入一些低频分量。

这样的滤波器叫B。

A. 巴特沃斯高通滤波器B. 高频提升滤波器C. 高频加强滤波器D. 理想高通滤波器10、图象与灰度直方图间的对应关系是 B __A.一一对应B.多对一C.一对多D.都不11、下列算法中属于图象锐化处理的是:CA.低通滤波B.加权平均法C.高通滤D. 中值滤波12、一幅256*256的图像,若灰度级数为16,则存储它所需的比特数是:( A )A、256KB、512KC、1M C、2M13、噪声有以下某一种特性( D )A、只含有高频分量B、其频率总覆盖整个频谱C、等宽的频率间隔内有相同的能量D、总有一定的随机性14. 利用直方图取单阈值方法进行图像分割时:(B)a.图像中应仅有一个目标b.图像直方图应有两个峰c.图像中目标和背景应一样大d. 图像中目标灰度应比背景大15. 在单变量变换增强中,最容易让人感到图像内容发生变化的是( C )A亮度增强觉B饱和度增强C色调增强D不一定哪种增强16、利用平滑滤波器可对图像进行低通滤波,消除噪声,但同时模糊了细节。

数字图像处理期末大作业

数字图像处理期末大作业

数字图像处理期末大作业一、问题描述实现第十章中采用Hough变换来检测图像中圆的过程。

,通过包括平滑(把细节去除),边缘检测(得到轮廓)以及Hough变换得到的圆,并把结果叠加到原来的灰度图像上。

给出具体的过程,中间结果,最后结果,实现的代码,并写出报告。

二、图片的获取以及预处理针对老师提供的一副硬币图片,要求检测出其中的hough圆,并叠加到原图像上以便增强图像。

在检测hough圆之前,首先要对图像进行平滑处理,进行拉普拉斯变换,然后检测垂直方向,水平方向,+45度和-45度方向的边缘,将四个方向的边缘叠加起来,得到总的边缘,对该图像进行二值化,然后对得到的图像检测其hough圆,得到圆形边缘,将该图像叠加到原图像上,就实现了图像边缘增强的目的。

三、图像处理算法的基本原理以及处理结果本实验流程图如下:1.读取图像图像处理的第一步就是对所采集的图像进行读入,本次实验的输入图像是一幅灰度图像,不需要将图像转换成为灰度图像,直接利用函数imread ()完成。

原图像如下所示:原图像2.图像预处理在图像预处理中,我们完成了两步工作,首先使用方差为1的高斯噪声对图像进行平滑,然后进行拉普拉斯变换,即)],(*)([2y x f r h ∇,222r 2e 21)(σσ-=πr h 为方差为2σ的高斯噪声,本实验中12=σ。

又),(*)]([)],(*)([22y x f r h y x f r h ∇=∇,其中2224222]2[)(σσσr er r h --=∇,将)(2r h ∇和),(y x f 分别进行傅里叶别换,将其逐点相乘,再进行傅里叶反变换,就得到了预处理后的图像。

3.边缘检测对水平,垂直,+45度,-45度方向进行边缘检测,本实验中我们采用了Prewitt 梯度算子,它用于检测水平方向,垂直方向,+45度方向和-45度方向的掩膜分别如下:水平掩膜 垂直掩膜 +45度掩膜 -45度掩膜使用这四个掩膜分别对上一步得到的图像逐点进行处理,就可以得到四个方向的边缘了(本实验中边缘的一个像素都不处理),再将它们加起来,就得到了总的边缘,实验结果如下:水平边缘垂直边缘-45度边缘总的边缘如下图所示:4.二值化对上图得到的图像进行二值化,这里我采用的是循环方式确定图像全局阈值,即首先以图像的平均值作为阈值,将图像分成两部分,分别求两部分的平均值,新的阈值为这两个平均值的均值,重复上述过程,直到两次阈值之差小于特定的值时停止,并以最后一次得到的阈值对图像进行二值化,本实验中我要求两次阈值之差小于0.5时停止,最后得到的全局阈值为 -102.1332,二值化后的图像如下所示:二值化后的图像5.Hough变换检测圆形边界Hough 变换的原理就是利用图像全局特征将边缘像素连接起来组成区域封闭边界,它将图像空间转换到参数空间,在参数空间对点进行描述,达到检测图像边缘的目的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

-------------精选文档 -----------------1、下图是一用于干涉原理进行测试的干涉场图像,要求判读条纹的间距,请给出图像处理的方案并说明每一步的作用及其对其它处理步骤可能产生的影响。

解:步骤与思路:○1.进行模糊处理,消除噪声○2.边缘检测,进行图像增强处理○3.二值化图像,再进行边缘检测,能够得到很清晰的边界。

○4.采用横向标号法,根据值为1 像素在标号中的相邻位置可以确定间距I=imread('xz mjt.bmp');I1=medfilt2(I);%对图像中值滤波imshow(I1);[m,n]=size(I1);for i=1:mfor j=1:nif(I1(i,j)<100)% 阈值为 100I1(i,j)=255;elseI1(i,j)=0;%进行二值化-------------精选文档 -----------------endendendfigure;imshow(I1);Y1=zeros(1,25);y2=y1;c=y2;i=100;for j=1:1200if (I1(i,j)==255&&I1(i,j+1)==0)Y1=j+1;endif (I1(i,j)==0&&I1(i,j+1)==255)Y2=j;endendfor i=1:25c=Y2(i)-Y1(i)endc%找出每两个条纹之间的距离2.现有 8 个待编码的符号 m0,,m7, 它们的概率分别为0.11,0.02,0.08,0.04,0.39,0.05,0.06,0.25,利用哈夫曼编码求出这一组符号的编码并画出哈夫曼树。

3.请以图像分割方法为主题,结合具体处理实例,采用期刊论文格式,撰写一篇小论文。

各种算子对图像进行边缘检测效果的研究图像分割是根据需要将图像划分为有意义的若干区域或部分的图像处理技术。

通过边缘检测在Matlab中实现方法,及用四叉数分解函数进行区域分割的方法,掌握了 Matlab区域操作函数的使用和图像分析和理解的基本方法,并学到了 'roberts','sobel','prewitt','canny','log'算子对图像进行边缘检测的不同效果。

关键词:图像分割Prewitt算子Sobel 算子 log 算子 canny 算子一、前言图像分割技术 ( 英文:image segmentation):将图像分成互不重叠,具有各自特征的区域。

这里的特性可以是灰度、颜色或纹理等。

图像分割应满足:①分割后所得到的区域总和应覆盖整个图像;②各区域之间互不重叠;③同一区-------------精选文档 -----------------域的像元应具有某种共同特征,这些特征可以是像元值、颜色、纹理、形状等;④同一目标 (类别 )可以对应于一个区域 ,也可以对应于多个区域。

图像分割方法主要有基于边界的分割技术和基于区域的分割方法。

图像分割 (image segmentation ):根据需要将图像划分为有意义的若干区域或部分的图像处理技术。

图像的边缘是图像最基本的特征,它是灰度不连续的结果。

通过计算一阶导数或二阶导数可以方便地检测出图像中每个像素在其邻域内的灰度变化,从而检测出边缘。

图像中具有不同灰度的相邻区域之间总存在边缘。

边缘检测可借助微分算子 (包括梯度算子和拉普拉斯算子)在空间域通过模板卷积来实现。

二、梯度算子1 . Prewitt和Sobel算子常用的梯度算子如表4-3 所示 (星号代表模板中心 )。

梯度算子一般由两个模板组成,分别对应梯度的两个偏导数,用于计算两个相互垂直方向上的边缘响应。

在计算梯度幅度时,可使用式(4-25) 或式 (4-26) ,在适当的阈值下,对得到梯度图像二值化即可检测出有意义的边缘。

Krisch 算子由 8 个模板组成,其它模板可以由其中一个模板绕其中心旋转得到,每个模板都对特定的边缘方向作出最大响应。

当把最大响应的模板的序号输出时,就构成了边缘方向的编码。

Prewitt算子和Sobel算子也可以像Krisch 算子那样,扩展到两个对角方向,使其在对角方向上作出最大响应。

Prewitt和Sobel 算子在两个对角方向上的模板如图 1 所示。

1 1 0 0 1 11 0 1 1 0 1-------------精选文档 -----------------(a) Prewitt 算子 45 度和 -45 度方向模板2 1 0 0 1 21 0 1 1 0 10 1 2 2 1 0(b)Sobel 算子 45 度和 -45 度方向模板图 1Prewitt 算子和 Sobel 算子检测对角方向边缘的模板图 2(b) 为用 Sobel 水平模板对图 2(a) 进行卷积运算得到的水平梯度图,它对垂直边缘有较强的响应。

图 2(c) 为用 Sobel 垂直模板对图 2(a) 进行卷积运算得到的垂直梯度图,它对水平边缘有较强的响应。

图 5-13(d) 为 Sobel 算子梯度图。

图 2Sobel 算子边缘检测2.高斯 - 拉普拉斯 (LOG) 算子常用的两个拉普拉斯模板见图3(a) 和(b) 。

其中,第一个模板在水平和垂直4 个方向上具有各向同性,而第二个模板在水平、垂直和对角 8 个方向上具有各向同性。

然而,拉普拉斯算子一般不直接用于边缘检测,因为它作为一种二阶微分算子对噪声相当敏感,常产生双边缘,且不能检测边缘方向。

主要利用拉普拉斯算子的过零点性质确定边缘位置,以及根据其值的正负来确定边缘像素位于边缘的暗区还是明区。

图 3LOG 算子剖面及其常用的 5 ×5模板高斯 - 拉普拉斯 (LOG) 算子把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来实现边缘检测, 即先通过高斯平滑抑制噪声, 以减轻噪声对拉普拉斯算子的影响,再进行拉普拉斯运算,通过检测其过零点来确定边缘位置。

因此,高斯- 拉普拉斯算子是一种性能较好的边缘检测器。

二维高斯平滑函数表示如下:h( x, y)x2y2exp22其中,σ是高斯分布的均方差, 图像被模糊的程度与其成正比。

令 r 2 =x 2 +y 2,上式对 r 求二阶导数来计算其拉普拉斯值,则有2h(r )r24 2expr2223. Canny 边缘检测Canny 边缘检测算子是一个非常普遍和有效的算子。

Canny 算子首先对灰度图像用均方差为 σ 的高斯滤波器进行平滑,然后对平滑后图像的每个像素计算梯度幅值和梯度方向。

梯度方向用于细化边缘,如果当前像素的梯度幅值不高于梯度方向上两个邻点的梯度幅值,则抑制该像素响应,从而使得边缘细化,这种方法称之为非最大抑制(Nonmaximum Suppression)。

该方法也可以结合其它边缘检测算子来细化边缘。

三、实验内容1.边缘检测(a)使用 edge 函数对图像‘ trees.tif ’进行边缘检测。

I=imread('trees.tif');imshow(I)bw1=edge(I,'roberts');bw2=edge(I,'sobel');bw3=edge(I,'prewitt');bw4=edge(I,'canny');bw5=edge(I,'log');figure,imshow(bw1)figure,imshow(bw2)figure,imshow(bw3)figure,imshow(bw4)figure,imshow(bw5)运行结果:图一边缘检测-------------精选文档 -----------------(b) 要求同时比较‘ roberts', ‘ sobel', ’ prewitt', ‘ canny', ’log' 算子检测效果。

edge 函数提供的最有效的边缘检测方法是 canny 方法。

优点 :使用两种不同的阈值分别检测强、弱边缘 ,并且仅当弱边缘与强边缘相连时,才将弱边缘包含在输出图像中。

该方法不易受噪声干扰,能够在噪声和边缘间取得较好的平衡,检测到真正的弱边缘。

2.区域操作使用区域选择函数 roicolor, 区域滤波函数 roifilt2 和区域填充函数 roifilld 对图像‘ coins.png ’或‘ liftingbody.png ’进行区域操作。

I=imread'coins.png ’);imshow(I)BW=roipoly;figure,imshow(BW)h=fspecial('unsharp');I2=roifilt2(h,I,BW);figure,imshow(I2)I3=roifill;figure,imshow(I3);I=imread('liftingbody.png');imshow(I)c=[222 272 300 270 221 194];r=[21 21 75 121 121 75];-------------精选文档 -----------------BW=roipoly(I,c,r);figure,imshow(BW)H=fspecial('unsharp');J1=roifilt2(H,I,BW);figure,imshow(J1)J2=roifill(I,c,r);figure,imshow(J2)运行结果:图二区域操作-------------精选文档 -----------------3.区域分割I=imread(' trees.tif');I=I(1+[1:128],1+[1:128]);figure,imshow(I)S=qtdecomp(I,0.2);figure,imshow(S)S=qtdecomp(I,0.1);figure,imshow(S)图三区域分割四、实验结果与分析1.边缘检测(1)使用 edge 函数对图像‘ trees.tif ’进行边缘检测。

(2)比较‘ roberts', ‘sobel', ’prewitt', ‘ canny', ‘log' 算子的检测效果:Robert算子:根据任一相互垂直方向上的差分都用来估计梯度,Robert 算子采用对角方向相邻像素只差Sobel 算子:其主要用于边缘检测,在技术上它是以离散型的差分算子,用-------------精选文档 -----------------来运算图像亮度函数的梯度的近似值,缺点是Sobel算子并没有将图像的主题与背景严格地区分开来,即Sobel算子并没有基于图像灰度进行处理,由于Sobel 算子并没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。

相关文档
最新文档