欢迎来到天天文库
浏览记录
ID:11192248
大小:5.51 MB
页数:39页
时间:2018-07-10
《数字图像处理课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《数字图像处理》课程设计报告姓名:??????班级:???????????学号:????????????指导老师:????????????目录目录总体说明3算法分析及实现4一、图像的灰度变换41.灰度反转42.二值化83.分段线性变换11二、图像的平滑151.均值滤波162.中值滤波19三、图像的锐化291、拉普拉斯锐化29四、图像的边缘检测331.Prewitt算子342.Sobel算子383.Laplacian算子42收获与总结48参考文献50总体说明总体说明本课程设计主要方法是研究算法并进行分析,重点是对《数字图像处理》课程中所学习的
2、知识进行形象、直观的计算机模拟与仿真实现,从而加深对《数字图像处理》的理解,从基本理论过渡到实际应用。本次课程设计主要内容为以老师提供的软件模板为基础,应用VC++编程的方法,编制一个具有简单功能的数字图像处理软件,其功能包括图像的打开、存储、显示、灰度变换、拉普拉斯锐化处理、模糊滤波处理以及边缘检测。其中打开、存储、显示为模板已经具备的功能,只需添加后边四项功能。需要添加的图像处理功能的实现原理主要为《数字图像处理》课程中所学的图像处理思想,用VC++语言进行实现。通过本次课程设计的学习,可以让我们更深刻的理解各种《数字图像处理》中基本图
3、像处理的内容、性质与应用,特别建立图像处理设计的概念,能建立简单的处理图像系统的模型以及对模型求解,掌握《数字图像处理》的一些基本算法思想,并重新熟悉VC++的基本方法和构成,进一步提高分析问题与实践技能的能力,培养整理数据和分析结果的能力,会用VC++编程、调试程序,加深理解与巩固理论知识,为以后的学习打下基础。通过《数字图像处理》的学习,我们知道数字图像的显示是经过取样、量化后,以一个二维矩阵的形式表示,矩阵中的每个元素称为像素,而每个像素的不同取值则代表了该像素的灰度或者颜色。这样所有的像素合在一起,在宏观上就显示出了图像。在本次课程
4、设计中,所有功能算法都是基于图像显示的原理,对每个像素逐点进行运算而实现的。所谓运算,就是对输入像素的值经过一个变换函数而输出一个新的值,从而产生一幅新的输出图像,达到变换作用。这个变换函数可以只与待处理的像素有关,也可以与该像素的一个邻域内的几个像素有关,前者称为点运算,后者称为局部运算。我在本次课程设计中设计的所有算法都是点运算或者局部运算。由于我对VC++的部分知识有所生疏遗忘,所以局部运算的算法设计上无法对图像的边沿进行合理处理,导致所有的局部运算都抛弃了对图片最外围像素的处理。在以后的学习中我会积极寻找方法,改进这一缺点。35算法
5、分析及实现算法分析及实现一、图像的灰度变换灰度变换只需要设计一个算法,实现灰度值按照一定方法的改变即可,是最简单的点运算。编程中所要做的只是将“一定的方法”抽象为灰度变换函数。1.灰度反转a)算法描述灰度反转是灰度线性变换的一个特例。灰度线性变换的灰度变换函数是一个一维线性函数,其形式为,灰度变换方程为:式中参数为线性函数的斜率,为线性函数在y轴的截距,表示输入图像的灰度。当﹥1时,输出图像的对比度将增大;当﹤1时,输出图像的对比度将减小;当=1且≠0时,操作仅使所有像素的灰度值上移或下移,其效果是使整个图像更暗或更亮;如果﹤0,暗区域将变
6、亮,亮区域将变暗,点运算完成了图像球补运算。在特殊情况下,当=-1,=255时,输出图像的灰度正好反转。b)程序流程图对像素逐点进行反转,即执行操作取得待显示图像的像素范围,建立图像在图像显示范围内更新显示内容,用反转后的值代替原来的值35算法分析及实现a)函数的出入口描述单击功能按钮之后,则进入CBmpDemoView::OnMenu51()函数,在此函数中,会调用CBmpDemoDoc::OnMenu51()函数对待处理图片的像素进行运算处理,然后返回CBmpDemoView::OnMenu51()函数,在软件的显示区域对所显示的内容进
7、行更新。b)主要源程序voidCBmpDemoView::OnMenu51(){//TODO:AddyourcommandhandlercodehereCBmpDemoDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);pDoc->OnMenu51();CRectr;GetClientRect(&r);SetScroll();InvalidateRect(&r,TRUE);UpdateWindow();}voidCBmpDemoDoc::OnMenu51(){//TODO:Addyourcommandhand
8、lercodehere//取得图片的长度和宽度intwidth=m_mBmp.GetWidth();intheight=m_mBmp.GetHeight();memBITMAPt
此文档下载收益归作者所有