资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
*实践教学*兰州理工大学计算机与通信学院2009 年秋季学期计算机图象处理综合训练题 目: 图象平移和灰度变换程序设计 专业班级: 姓 名: 学 号: 指导教师: 成 绩: 目 录摘 要 .1一、 前言 .2二、 算法分析与描述 .32.1 图像的平移变换 .32.2 灰级窗处理 .3三、详细设计过程 .53.1 图像的平移变换 .53.2 灰级窗详细设计 .5四、调试过程中出现的问题以及相应解决办法 .7五、程序运行截图及其说明 .8六、简单操作手册 .10设计总结 .13参考资料 .14致 谢 .15附 录 .161摘 要图像灰度变换在这里主要实现灰级窗变化,图像几何变换同样也主要实现图像水平平移变换,选取若干张目标图像文件,在计算机图象驱动程序中完成相应的变换。其目标图像主要为 24 为真彩色图片。在图像处理中主要用 VC+编写图像处理程序并调用 VC+图像处理的部分内部函数进行处理。通过程序实现图象水平平移和图像的灰度变换,对程序进行相应的调试,并且用图例进行测试,以验证程序的正确性与可用性。调试及测试时,通过相关信息,充分验证程序的可用性。本程序通篇均用 C+写成,具有很高的严密性,具有很高的真实性与可靠性。可以通过 VC+能够很好地达到图像处理的预期目的。关键词 : 数字图像处理;灰度变换;几何变换;2一、前言计算机图像处理的实现主要以数学模型为基础,通过建立合适的算法来实现具体的图像处理,图象的灰度变换是图像的增强的主要的方法,要进行图象的灰度变换,必须知道图像增强的目标和所包含的几个组要的部分。所谓图像增强,实际上要完成的工作通过将画面上重要的内容增强突出,同时将不重要的内容进行适当的抑制,以此达到改善画面质量的方法。在此前提下,也就是说处理前后的图像的灰度范围都分布在0,255,通过抑制非重要信息的对比度腾出空间给重要信息进行对比度的展宽。几何变换是最常见的图像处理手段,通过对变形的图像进行几何校正,可以得出准确的图像。常用的几何变换功能包括图像的平移、图像的转置、图像的缩放、图像的旋转等。作为数字图像处理的一个重要部分,一般用 Visual C+编程工具设计一个完整的应用程序,实现相应的图像几何变换功能和灰度变换。3二、算法分析与描述2.1 图像的平移变换图像的平移变换就是将图像中的像素点按照要求的量进行垂直、水平移动。图像的水平处理,只是改变了原有景物在画面上的位置,而图像的内容不发生变化。初始坐标为(x 0,y0)的点经过平移(tx,ty)(以向右,向下为正方向)后,坐标变为(x 1,y1)。这两点之间的关系是:x1=x0+txy1=y0+ty使用矩阵的形式来表达如下:x1 y1 1 = x0 y0 1 1tyx0值得注意的是,一个数字图像(灰度图)是以一个矩阵来描述的,因此,如果不扩大存放处理后的矩阵的大小,则会出现图像的部分内容移出画面的情况。2.2 灰级窗处理灰级窗也称为灰度窗口,灰级窗可以看作是对比度扩展的一个特例,它是将某一区间的灰度级和其它部分(背景)分开,只显示指定灰度级范围内的信息。灰级窗的原理如图 2-2 所示4图 2-2 灰级窗的原理不难看出,只要令比度扩展中的=0就实现了灰级窗。我们只要给出范围的两个端点,斜率就可以用方程(b-a)=255求出,灰级窗的原理和对比度扩展的原理类似。2550a b 255fg5三、详细设计过程3.1 图像的平移变换图像的平移处理,只改变了原有景物在画面的位置,而图像的内容不发生变化,采用数字图像坐标系,用下面的函数进行平移。函数名称:TranslationDIB()参数:* LPSTR lpDIBBits - 指向源 DIB 图像指针* LONG lWidth - 源图像宽度(象素数)* LONG lHeight - 源图像高度(象素数)* LONG lXOffset - X 轴平移量(象素数)* LONG lYOffset - Y 轴平移量(象素数)* 返回值:* BOOL - 平移成功返回 TRUE,否则返回 FALSE。* 该函数用来水平移动 DIB 图像。函数不会改变图像的大小,移出的部分图像3.2 灰级窗详细设计函数名称:GrayWindows()该函数用来对图像进行分段线性灰度变换,输入参数中包含了两个拐点的坐标;函数名称:GetDibSaveDim();获得图象数据存储的高度和宽度;函数名称:WIDTHBYTES(sizeImage.cx * 8); 计算图像每行的字节数;输入参数:CDib* pDib:指向 CDib 类的指针,含有原始图象信息int nX1:分段线性灰度变换第一个拐点的 X 坐标int nY1:分段线性灰度变换第一个拐点的 Y 坐标6int nX2:分段线性灰度变换第二个拐点的 X 坐标int nY2:分段线性灰度变换第二个拐点的 Y 坐标返回值: BOOL:成功返回 TRUE,否则返回 FALSE。7四、调试过程中出现的问题以及相应解决办法在设计过程中首先遇到的问题是如何将复杂的算法用程序来描述出来,我通过查阅资料和认真阅读课本知识,经过不断和同学的探讨,最后终于使算法成型,初步完成了对算法的编程。在程序初步完成后,在调试过程中我又遇到了新的问题,由于对 Visual C+6.0 的使用不是很熟练,使我在调试过程中不能很好的解决所出现的问题,这时我主动向老师请教,通过老师的指导,原来我的 visual C+6.0 软件有问题,经过重新安装后,使我的调试过程有了很快的进展,也是我对软件有了更深刻的了解。下面是我在程序调试总遇到的一个问题:经过仔细的分析发现原来是缺少一个头文件:#include DlgGeoTran.h。图 4.1 编译错误界面8五、程序运行截图及其说明程序经运行后的操作界面,在该界面下可以打开相应的需处理的文件,如图 5.1:经平移后的图像如图 5.2:3进行灰级窗处理,其参数设置界面如图 5.3:9. 5.3 设置灰级窗数值界面4.进行灰级窗处理后的图像如图 5.4:10六、简单操作手册1在进行图像平移处理时,首先工程运行后弹出的界面如图 6.1 所示。图 6.1 运行结果界面2.其次,参数设定分别制定其水平平移的距离里 80 和垂直方向的平移距离50,其参数设定界面所得的界面如图 6.2 所示。图 6.2 参数设定界3.导入要处理的图片,在对话框的几何变换中选定平移操作,经处理后所得的界面如图 6.3 所示,其中原图与变换后的图片进行对比如下:11图 6.3 打开图片界面4打开 VC+环境重新选择灰度变换的程序,运行后在其对话框中选择灰度变换中的灰级窗的线性变换处理,接着进行参数设置,只需设置第一点 Y 坐标值为 0,第二点 Y 坐标值为 255,进行灰级窗处理的坐标设置界面,如图 6.4 所示。. 6.4 坐标设置界面125.经灰度设置后按确认键便得到灰级窗处理后的图像,其界面如 6.5 所示。图 6.5 图像界面13设计总结通过短短两周的综合训练,我觉的我对图像处理的理解又更深了一层。原来在没有训练以前,我觉得所学的东西都是一些理论的没有什么实践的价值,但是这次让我知道不是仅仅这样,它对我们都很大的用处。不仅使我掌握了怎样熟练的运用 VC+,也对它的强大的功能、丰富的能力、方便灵活的使用、广泛的应用、高效率的目标程序、好的移植性等许多的优点有了很好的认识。而且还对图像处理的方法如灰级窗处理以及图像几何变换中的平移等都有了初步的掌握。现在我被这图像处理的各种方法所深深地吸引,它真的是惟妙惟肖的,能满足人们各种不同的需求。这次的综合训练真的让我获益匪浅。参考资料1 朱虹.计算机图象处理基础M.北京,科学出版社, 2005.2 K.R.Castleman. 计算机图象处理M.北京,电子工业出版社,2002. 3 章毓晋.图像处理与分析-图像工程(上册)M.北京,清华大学出社,2001. 4 张宏林编著.Visual C+计算机图象模式识别技术及工程实践M.北京,人民邮电出版社,2003.5 黄维通.Visual C+面向对象与可视化程序设计M.北京,清华大学社,2003.6 R C.Gonzalez, R E.Woods, S L. Eddins 著,阮秋琦,阮宇智等译.计算机图象处理(MATLAB 版)M.北京,电子工业出版社,2005.15致 谢此次数字图像处理综合训练是在柯铭老师的指导下顺利完成的,她在我的综合训练过程中提出了指导性的意见和方案,并在课设期间对我们进行耐心地指导,对我的设计工作有很大的帮助,在此表示衷心的感谢。还有帮助过我的同学,是你们的支持和鼓励让我坚持到底
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号