欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    图像锐化程序设计.doc

    • 资源ID:1169345       资源大小:795.60KB        全文页数:26页
    • 资源格式: DOC        下载积分:10积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要10积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    图像锐化程序设计.doc

    1、*实践教学*兰州理工大学计算机与通信学院2012年秋季学期 图像处理 综合训练题 目: 图像锐化程序设计 专业班级: 姓 名: 学 号: 指导教师: 成 绩: 23目 录摘 要1一、前言2二、算法分析与描述3三、详细设计过程6四、调试过程中出现的问题及相应解决办法8五、程序运行截图及其说明9六、简单操作手册13设计总结16参考资料16致谢19附录21摘 要 这次综合训练要实现图象的锐化处理,图像锐化的目的是突出图象中的细节或者增强被模糊了的细节。其主要被用于景物边界的检测与提取。 本次训练中用数字微分锐化的方法通过实现微分算子来将图象锐化。用到的一阶微分算子有:Robirts微分算子、Sobe

    2、l微分算子、Priwitt微分算子等。二阶微分算子用到了Laplacian微分算子。通过实现不同的微分算子,得到对图象轮廓在不同程度上的提取。关键词:数字图象处理;图像锐化;微分算子一、前言图像是人类获取和交换信息的主要来源,因此,图像处理的应用领域必然涉及到人类生活和工作的方方面面。随着人类活动范围的不断扩大,图像处理的应用领域也将随之不断扩大。数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。 数字图像处理主要研究以下内容: 图像几何变换;如傅立叶变换、沃尔什变换、离散余弦变换等;图象锐化处理

    3、;图像编码压缩;图像增强和复原;图像分割;图像描述;图像分类(识别)。其中图象锐化处理的目的是使模糊的图像变得更加清晰起来。图像的模糊实质就是图像受到平均或积分运算造成的,因此可以对图像进行逆运算如微分运算来使图像清晰化。微分运算是通过实现微分算子来对图像进行锐化。微分算子有一阶微分算子和二阶微分算子。二、算法分析与描述2.1 Sobel微分算子函数 Sobel算子就是对当前行或列对应的值加权后,再进行平均和差分,也称为加权平均差分。水平和垂直梯度模板分别为:Sobel算子和Prewitt算子一样,都在检测边缘点的同时具有抑制噪声的能力,检测出的边缘宽度至少为二像素。由于它们都是先平均后差分,

    4、平均时会丢失一些细节信息,使边缘有一定的模糊。但由于Sobel算子的加权作用,其使边缘的模糊程度要稍低于程度要稍低于Prewitt算子。2.2 Roberts交叉微分算子函数 Roberts 梯度就是采用对角方向相邻两像素之差,故也称为四点差分法。对应的水平和垂直方向的模板为:标注 的是当前像素的位置(i,j)为当前像素的位置,其计算公式如下: 特点:用4点进行差分,以求得梯度,方法简单。其缺点是对噪声较敏感,常用于不含噪声的图像边缘点检测。梯度算子类边缘检测方法的效果类似于高通滤波,有增强高频分量,抑制低频分量的作用。这类算子对噪声较敏感,而我们希望检测算法同时具有噪声抑制作用。所以,下面给

    5、出的平滑梯度算子法具有噪声抑制作用。2.3 Priwitt微分算子函数 因为平均能减少或消除噪声,Prewitt梯度算子法就是先求平均,再求差分来求梯度。水平和垂直梯度模板分别为: 利用检测模板可求得水平和垂直方向的梯度,再通过梯度合成和边缘点判定,就可得到平均差分法的检测结果。2.4拉普拉斯微分算子函数对数字图像 f (m,n),用差分代替二阶偏导,则Laplacian算子为:写成检测模板为:Laplacian检测模板的特点是各向同性,对孤立点及线端的检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如梯度算子。三、详细设计过程.3.1仔细阅读Matlab帮助文件中有关以上函数的使用

    6、说明,能充分理解其使用方法并能运用它们完成实验内容。3.2将lena.jpg图像文件读入Matlab,使用imfilter函数分别采用Sobel,Laplacian算子对其作锐化运算,显示运算前后的图像。算子输入方法:(1)用fspecial函数产生垂直方向sobel算子,产生Laplacian算子时alpha参数选择0(2)直接输入,其中Sobel算子形式为 (水平Sobel) (垂直Sobel)Laplacian算子形式为 。对于Sobel算子,采用 生成图像;对于Laplacian算子,直接采用计算结果作为锐化后图像。3.3将lena.jpg图像文件读入Matlab,按照以下步骤对其进行

    7、处理:1)用带对角线的Laplacian对其处理,以增强边缘。对角线Laplacian算子为 。2)将1)结果叠加到原始图像上。可以看出噪声增强了(Laplacian算子对噪声敏感),应想法降低。3)获取Sobel图像并用imfilter对其进行55邻域平均,以减少噪声。4)获取2)和3)相乘图像,噪声得以减少。5)将4)结果叠加到原始图像上。6)最后用imadjust函数对5)结果做幂指数为0.2的灰度变换。3.4设计流程图图 像 锐 化Roberts算子Sobel算子Prewitt算子Kirsch算子Laplacian算子四、调试过程中出现的问题及相应解决办语法错误:由于疏忽、输入不正确等

    8、原因而造成的代码违背程序语言规则的错误。 运行错误:由于对所求解问题的理解差异,导致程序流程出错或对程序本身的特性认识有误而造成的程序执行结果错误的情况。 异常:程序执行过程中由于不满足条件而造成的程序执行错误。 语法错误是最常犯的错误,例如,变量或函数名拼写错误、缺少引号或括号等。并且当MATLAB运行发现这些错误时会立即标识出这些错误,并说明错误的类型以及在M文件中的位置, 在出现错误后认真检查代码,找出代码的错误并改正。 根据标识出错的代码进行改正。最终使代码正确运行。五、程序运行截图及其说明图5.1为操作时用到的原图 图5.1 Lena原图-24位色图5.2到5.5是将原图5.1锐化后

    9、的结果 图5.2 Roberts微分算子处理图像 图5.3 Sobel微分算子处理图像 图5.4 Priwitt微分算子处理图像 图5.5 Laplacian微分算子处理图六、简单操作手册本系统主要是用微分算子来实现图像的锐化,在该程序实现的过程中,主要的实现步骤有:1、选取张目标图像文件,在计算机图象驱动程序中显示;2、实现用一阶微分算子对图像的锐化(包括Roberts微分算子,Sobel微分算子Priwitt微分算子);3、实现用二阶微分算子对图像的锐化(用Laplacian微分算子);4、将处理后的图象与原图进行比较,图象锐化后的图象与原图象存在的差别较大。 具体操作过程如下: 进入操作

    10、界面 图 6.1进入操作界面 打开要操作的图像 图 6.2 打开要操作的图像 从菜单中找到图像锐化进行操作 图 6.3 操作菜单 如用Roberts微分算子进行锐化后的图像: 图 6.4 Roberts微分算子进行锐化后的图像 用Sobel微分算子进行锐化后的图像图 6.5 Sobel微分算子进行锐化后的图像若要用其他算子进行图像锐化,可用同样的方法。设计总结锐化(sharpening)和平滑恰恰相反,它是通过增强高频分量来减少图象中的模糊,因此又称为高通滤波(high pass filter)。锐化处理在增强图象边缘的同时增加了图象的噪声。在图象边界轮廓的部分要采用高通滤波。因为边界轮廓灰度

    11、值相差很大,呈现出高频特性。而图像内部则是灰度变化平缓,对应的应该是低频部分。由实验结果可以分析看出,如果一片暗区出现了一个亮点,那么锐化处理的结果是这个亮点变得更亮,增加了图象的噪声。参考资料1 朱虹.计算机图象处理基础M. 科学出版社, 20052 R C.Gonzalez, R E.Woods著,阮秋琦,阮宇智等译.计算机图象处理(第2版).北京:电子工业出版社,20033 K.R.Castleman. 计算机图象处理.北京:电子工业出版社,20024 章毓晋.图像处理与分析-图像工程(上册),清华大学,20015 何斌等编著.Visual C+计算机图象处理.人民邮电出版社,2002

    12、6 张宏林编著.Visual C+计算机图象模式识别技术及工程实践.人民邮电出版社,2003.致谢这次课程综合训练做完后要感谢的人太多了。首先感谢我的指导老师朱红蕾老师,她在我的课程设计过程中提出了指导性的方案和架构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。感谢我的计算机图象处理老师徐志刚和面向对象C+老师刘嘉在以往的基础课学习中为我打下良好的基础,这是我这次课程设计能够顺利完成的前提。感谢我的同学们,他们与我一起探讨问题,帮助我完成了课程设计。附录function varargout = untitled(varargin)gui_Singleton = 1;

    13、gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, untitled_OpeningFcn, . gui_OutputFcn, untitled_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_m

    14、ainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction untitled_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = untitled_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;function m_fil

    15、e_Callback(hObject, eventdata, handles)function Sobel_Callback(hObject, eventdata, handles)T=150; %设定阈值img_src=getappdata(handles.figure_untitled,img_src);A=img_src;axes(handles.axes);%A=imread(C:UsersAdministratorDesktop新建文件夹lena.jpg); %imshow(A);title(原图);A=double(A); S=size(A); %figure(1)axes(han

    16、dles.axes);imshow(A)colormap(gray(256)%title(wuzao,fontsize,18,fontweight,bold,fontname,ArialI=imread(lena.jpg);H,W=size(I);M=double(I);J=M;for i=2:H-1for j=2:W-1 J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+2*M(i,j+1)-2*M(i,j-1)+M(i+1,j+1)-M(i+1,j-1)+abs(M(i-1,j-1)-M(i+1,j-1)+2*M(i-1,j)-2*M(i+1,j)+M(i-1,j+1)-M

    17、(i+1,j+1);end;end;subplot(1,2,1);imshow(I);title(原图);subplot(1,2,2);imshow(uint8(J);title(Sobel 处理后);function Robert_Callback(hObject, eventdata, handles)img_src=getappdata(handles.figure_untitled,img_src);A=img_src;axes(handles.axes); %imshow(A); %title(原图); %A=getappdata(handles.figure1_untitled,A

    18、); x_mask = 1 0;0 -1; y_mask = rot90(x_mask); I = im2double(A); dx = imfilter(I, x_mask); dy = imfilter(I, y_mask); grad = sqrt(dx.*dx + dy.*dy); grad = mat2gray(grad); axes(handles.axes); BW = im2bw(grad,level); %figure, imshow(BW); title(Roberts)I=imread(lena.jpg);H,W=size(I);M=double(I);J=M;for i

    19、=1:H-1for j=1:W-1J(i,j)=abs(M(i,j)-M(i+1,j+1)+abs(M(i+1,j)-M(i,j+1);end;end;subplot(1,2,1);imshow(I);title(原图);subplot(1,2,2);imshow(uint8(J);title(Roberts处理后);function Priwitt_Callback(hObject, eventdata, handles)img_src=getappdata(handles.figure_untitled,img_src);A=img_src;axes(handles.axes);%imsh

    20、ow(A);title(原图);y_mask = -1 -1 -1;0 0 0;1 1 1; x_mask = y_mask; I = im2double(A); dx = imfilter(I, x_mask); dy = imfilter(I, y_mask); grad = sqrt(dx.*dx + dy.*dy); grad = mat2gray(grad); level = graythresh(grad); axes(handles.axes);BW = im2bw(grad,level); %figure,imshow(BW); title(Prewitt) I=imread(

    21、lena.jpg);H,W=size(I);M=double(I);J=M;for i=2:H-1for j=2:W-1J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+M(i,j+1)-M(i,j-1)+M(i+1,j+1)-M(i+1,j-1)+abs(M(i+1,j-1)-M(i-1,j-1)+M(i+1,j)-M(i-1,j)+M(i+1,j+1)-M(i-1,j+1);end;end;subplot(1,2,1);imshow(I);title(原图);subplot(1,2,2);imshow(uint8(J);title(Prewitt处理后);function

    22、Laplas_Callback(hObject, eventdata, handles)img_src=getappdata(handles.figure_untitled,img_src);A=img_src;axes(handles.axes);%A = imread(C:UsersAdministratorDesktop新建文件夹lena.jpg); %imshow(A);title(原图); mask=0,-1,0;-1,4,-1;0,-1,0; I = im2double(A); dx = imfilter(I, mask); grad = mat2gray(dx); axes(ha

    23、ndles.axes);BW = im2bw(grad,0.58); %figure,imshow(BW); title(Laplacian)I=imread(lena.jpg);H,W=size(I);M=double(I); J=M; for i=2:H-1 for j=2:W-1 J(i,j)=4*M(i,j)-M(i+1,j)+M(i-1,j)+M(i,j+1)+M(i,j-1); end; end; subplot(1,2,1);imshow(I);title(原图); subplot(1,2,2);imshow(uint8(J);title(锐化处理后的图);function m_

    24、file_open_Callback(hObject, eventdata, handles)filename, pathname = uigetfile( . *.bmp;*.jpg;*.png;*.jpeg, Image Files (*.bmp, *.jpg, *.png, *.jpeg); . *.*, All Files (*.*), . Pick an image);axes(handles.axes1);fpath=pathname filename; img_src=imread(fpath);imshow(img_src);title(原图);setappdata(handl

    25、es.figure_untitled,img_src,img_src);function m_file_save_Callback(hObject, eventdata, handles)filename, pathname = uiputfile(*.bmp,BMP files;*.jpg;,JPG files, Pick an Image); if isequal(filename,0) | isequal(pathname,0) return;%如果点了“取消” else fpath=fullfile(pathname, filename);end img_src=getappdata(handles.figure_untitled,img_src);imwrite(img_src,fpath);function m_file_exit_Callback(hObject, eventdata, handles)close(handles.figure_untitled);


    注意事项

    本文(图像锐化程序设计.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922