- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MFC的图像显示系统设计.doc
基于MFC的图像显示系统设计
在目前快速发展的科学技术的推动下,再加上计算机更新速度的日趋加快,对图像的要求愈来愈高。本文首先针对图形显示系统的设计流程进行阐述,在进行系统设计过程,充分利用MFC的设计理念,依靠VC++,提高了软件系统的灵活性,运用其实现图像变形、图形翻转的功能。
【关键词】MFCVisual C++图像显示
尽管图像处理学属于综合性的边缘性学科,但是在研究范畴方面,它和模式识别、计算机图形学以及计算机视觉等存在着一定的差异,但也有一定的联系。
传统意义上的图形学指的是通过图表、图形、绘图等诸多形式对数据信息进行反应、阐述的一种学科。但是计算机图形学则与之不同,它研究的对象是如何借助计算机技术来创造此类形式。实际上,从输出结果与处理对象上看,它与图像分析恰恰相反。计算机图形学正在尝试着利用非图像形式的数据描述促使图像形成,而图像分析和模式识别较为类似,二者间的输出是不一致的,但其转换比较方便。计算机视觉突出强调的是计算机在实现人的视觉功能方面的重要性,其牵扯到了大量与图形处理相关的技术,然而当下研究内容大多是和图像理解相结合的内容。
虽然如今在处理大数据量的图像方面,计算机处理的速度比不上光学法,但计算机处理的精确度高,可十分便捷、灵活地求解出极其复杂、功能多样化的运算。在这么短的发展历史过程当中,它可以在几乎和成像相关的所有领域得到成功推广与运用,并起着非常重要的影响。
1 MFC和VC++
Microsoft Foundation Class Library(MFC),为了能够方便的建设Windows下的应用程序,可以把MFC中的所有类别结合起来,创建应用程序框架,这也是一种相对SDK来说更为简单的方法。此时程序员的工作内容是,借助预定义的接口,在此轮廓中填进详细的应用程序中独有的东西。
Microsoft Visual C++有与之相对应的工具去做好该项工作:资源编辑器能有利于对用户接口进行直观地设计;AppWizard可在初步的框架文件的生成过程中进行使用;Class Wizard有利于把代码添加至框架文件中;类库可以有助于应用程序特定的逻辑的实现。
2 图像显示形式
2.1 图像缩放
图像的缩放操作能使图像的大小发生变化,形成的图像的像素也许在原图内找不出与之相对应的像素点,如此一定要实施近似处理。通常情况下,我们可以采用与之最接近的像素值进行赋值,当然利用插值算法进行计算也可。
比方说,如fx、fy的值都是0.5,那么图像将会变成以前的一半大,所得图像的(0,0)像素和原图内的(0,0)像素相对应;(0,1)像素与原图内的(0,2)像素相对应;(1,0)像素与原图内的(2,0)像素相对应,依此类推。在原图的基础上,每行间隔一个间距设置点,每相距一行实施操作。
2.2 图像旋转
一般图像是以图像的中心为原点进行旋转的,在旋转过后,图像通常会出现一些变化。与图像平移相同的是,一方面,图像旋转为了显示全部图像可支持拓展图像范畴,另一方面,可去除掉转出显示区域的图像。
3 图像显示设计
系统通过在功能模块内使用了函数void Invalidate( BOOL bErase = TRUE ),实现图形的旋转与缩放功能,该函数具有让整个窗口客户区无法发挥出作用的功能,这就说明要重新进行绘制。比方说,若一个被其它窗口遮蔽的窗口转变成前台窗口,则以往被遮挡的部分就丧失了作用,需重新绘制。此时在应用程序的消息队列中,Windows会发布WM_PAINT消息。MFC为窗口类出具了WM_PAINT的消息处理函数OnPaint,该函数承担着对窗口进行重新绘制的工作。
3.1 图像放大与缩小
图像放大是指图像依据一定比例进行缩小或者扩大,能使位图空间的大小发生变化。得到位图的空间尺寸,在不使位图的大小发生改变的情况下,让位图依据以往大小只改变相框的大小,但不改变相片的大小。
3.2 图像翻转
水平翻转是将图像水平方向的像素点沿着中间线进行翻转,处理过程为:获得当前设备指针,指向当前设备,定义三个无符号的的指针,为翻转图像申请一段内存空间,大小为图像内存大小。内层循环将每一行的像素点进行翻转,左侧的像素移到右侧,右侧的像素点移到左侧外层循环将所有行的像素进行翻转将左侧的像素点移到右侧,Invalidate()函数进行窗体的重绘。
4 结论
本文说明了运用VC++平台和MFC技术来实现本次设计的优点,主要讨论了如何构建一个简单的图像显示系统,如何简单处理图像,从而能够在MFC平台下成功实现图像的翻转、缩小以及放大的功能。
参考文献
[1]胡新宸.基于OpenGL的医学图像三维可
原创力文档


文档评论(0)