欢迎来到天天文库
浏览记录
ID:14877134
大小:1.32 MB
页数:39页
时间:2018-07-30
《图象平移和灰度变换程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、*******************实践教学*******************兰州理工大学计算机与通信学院2009年秋季学期计算机图象处理综合训练题目:图象平移和灰度变换程序设计专业班级:姓名:学号:指导教师:成绩:15目录摘要1一、前言2二、算法分析与描述32.1图像的平移变换32.2灰级窗处理3三、详细设计过程53.1图像的平移变换53.2灰级窗详细设计5四、调试过程中出现的问题以及相应解决办法7五、程序运行截图及其说明8六、简单操作手册10设计总结13参考资料14致谢15附录1615摘要图像灰度变换在这里主要实现灰级窗变化,图像几何变换同样也
2、主要实现图像水平平移变换,选取若干张目标图像文件,在计算机图象驱动程序中完成相应的变换。其目标图像主要为24为真彩色图片。在图像处理中主要用VC++编写图像处理程序并调用VC++图像处理的部分内部函数进行处理。通过程序实现图象水平平移和图像的灰度变换,对程序进行相应的调试,并且用图例进行测试,以验证程序的正确性与可用性。调试及测试时,通过相关信息,充分验证程序的可用性。本程序通篇均用C++写成,具有很高的严密性,具有很高的真实性与可靠性。可以通过VC++能够很好地达到图像处理的预期目的。关键词:数字图像处理;灰度变换;几何变换;15一、前言计算机图像处理
3、的实现主要以数学模型为基础,通过建立合适的算法来实现具体的图像处理,图象的灰度变换是图像的增强的主要的方法,要进行图象的灰度变换,必须知道图像增强的目标和所包含的几个组要的部分。所谓图像增强,实际上要完成的工作通过将画面上重要的内容增强突出,同时将不重要的内容进行适当的抑制,以此达到改善画面质量的方法。在此前提下,也就是说处理前后的图像的灰度范围都分布在[0,255],通过抑制非重要信息的对比度腾出空间给重要信息进行对比度的展宽。几何变换是最常见的图像处理手段,通过对变形的图像进行几何校正,可以得出准确的图像。常用的几何变换功能包括图像的平移、图像的转置
4、、图像的缩放、图像的旋转等。作为数字图像处理的一个重要部分,一般用VisualC++编程工具设计一个完整的应用程序,实现相应的图像几何变换功能和灰度变换。15一、算法分析与描述2.1图像的平移变换图像的平移变换就是将图像中的像素点按照要求的量进行垂直、水平移动。图像的水平处理,只是改变了原有景物在画面上的位置,而图像的内容不发生变化。初始坐标为(x0,y0)的点经过平移(tx,ty)(以向右,向下为正方向)后,坐标变为(x1,y1)。这两点之间的关系是:x1=x0+txy1=y0+ty使用矩阵的形式来表达如下:x1y11=x0y01值得注意的是,一个数字
5、图像(灰度图)是以一个矩阵来描述的,因此,如果不扩大存放处理后的矩阵的大小,则会出现图像的部分内容移出画面的情况。2.2灰级窗处理灰级窗也称为灰度窗口,灰级窗可以看作是对比度扩展的一个特例,它是将某一区间的灰度级和其它部分(背景)分开,只显示指定灰度级范围内的信息。灰级窗的原理如图2-2所示15g2550ab255f图2-2 灰级窗的原理不难看出,只要令比度扩展中的α=γ=0就实现了灰级窗。我们只要给出范围的两个端点,斜率β就可以用方程β(b-a)=255求出,灰级窗的原理和对比度扩展的原理类似。15三、详细设计过程3.1图像的平移变换图像的平移处理,只
6、改变了原有景物在画面的位置,而图像的内容不发生变化,采用数字图像坐标系,用下面的函数进行平移。函数名称:TranslationDIB()参数:*LPSTRlpDIBBits-指向源DIB图像指针*LONGlWidth-源图像宽度(象素数)*LONGlHeight-源图像高度(象素数)*LONGlXOffset-X轴平移量(象素数)*LONGlYOffset-Y轴平移量(象素数)*返回值:*BOOL-平移成功返回TRUE,否则返回FALSE。*该函数用来水平移动DIB图像。函数不会改变图像的大小,移出的部分图像3.2灰级窗详细设计函数名称:GrayWind
7、ows()该函数用来对图像进行分段线性灰度变换,输入参数中包含了两个拐点的坐标;函数名称:GetDibSaveDim();获得图象数据存储的高度和宽度;函数名称:WIDTHBYTES(sizeImage.cx*8);计算图像每行的字节数;输入参数:CDib*pDib:指向CDib类的指针,含有原始图象信息intnX1:分段线性灰度变换第一个拐点的X坐标intnY1:分段线性灰度变换第一个拐点的Y坐标15intnX2:分段线性灰度变换第二个拐点的X坐标intnY2:分段线性灰度变换第二个拐点的Y坐标返回值:BOOL:成功返回TRUE,否则返回FALSE。1
8、5四、调试过程中出现的问题以及相应解决办法在设计过程中首先遇到的问题是如何将复杂
此文档下载收益归作者所有