图像处理实验一 特效处理.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像处理实验一 特效处理

天津理工大学 计算机与通信工程学院 实验报告 2013 至 2014 学年 第 二 学期 实验一 图像的特效显示 课程名称 数字图像处理 学号 学生姓名 年级 专业 计算机 教学班号 1 实验地点 主7-220 实验时间 2014年4月 28日 第 5节 至 第 6 节 主讲教师 杨淑莹 辅导教师 实验( 一 ) 实验名称 图像的特效显示 软件环境 Windows VC++6.0 硬件环境 PC 实验目的 实现图像由小到大,逐渐显示。 将图像中的红气球物体左右、上下、对称复制。 2. 自行设计图像的几何变换显示。 实验内容(应包括实验题目、实验要求、实验任务等) 实现图像由小到大,逐渐显示。 要求:显示一幅位图,由小到大,逐渐显示。 任务: (1)在左视图中打开一幅bmp位图,包括256色或真彩色位图 (2)制作一个【图像由小到大逐渐显示】菜单,将消息映射到右视图中,在右视图 中显示位图,完成图像由小到大,逐渐显示显示功能。 将图像中的红气球物体左右、上下、对称复制。 要求:在左视图中打开一幅256色的灰度bmp位图。 将图像中的红气球物体左右、上下、对称复制。 任务: (1)在左视图中打开一幅bmp位图,包括256色或真彩色位图 (2)制作一个【红气球复制】菜单,将消息映射到右视图中,在右视图 中,完成将图像中的红气球物体左右、上下、对称复制功能。 自行设计图像的几何变换。(选作) 要求:自行设计图像的几何变换。 任务: (1)在左视图中打开一幅bmp位图,包括256色或真彩色位图 (2)制作一个【自行设计图像的几何变换】菜单,将消息映射到右视图中,在右视图 中自行设计图像的特效显示,完成图像的几何变换功能。 实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等) 附录(可包括源程序清单或其它说明) 实现图像由小到大,逐渐显示。 在Menu界面中添加菜单选项 生成响应函数 在函数中添加代码: //刷新屏幕 CDC *pDC=GetDC(); CRect rect(0,0,1000,1000); CBrush brush(RGB(255,255,255)); pDC-FillRect(rect,brush); //复制图像数据 clearmem(); CDSplitDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if(!pDoc -statedocstate2==1) { BYTE* pBitmapData = CDibNew1-GetData(); LPBITMAPINFO pBitmapInfo = CDibNew1-GetInfo(); int bitmapHeight = CDibNew1-GetHeight(); int bitmapWidth = CDibNew1-GetWidth(); int scaledWidth = (int)(bitmapWidth*0.2); int scaledHeight = (int)(bitmapHeight); if (CDibNew1-GetRGB()) // Has a color table { CPalette * hPalette=CreateBitmapPalette(CDibNew1); CPalette * hOldPalette = pDC-SelectPalette(hPalette, true); pDC-RealizePalette(); for(int j=1;j8;j++) { ::StretchDIBits(pDC-GetSafeHdc(),bitmapWidth/2, bitmapHeight/2, (int)(bitmapWidth*0.1*j), (int)(bitmapWidth*0.1*j), 0, 0, bitmapWidth, bitmapHeight, pBitmapData, pBitmapInfo, DIB_RGB_COLORS, SRCCOPY); Sleep(100); } pDC-SelectPalette(hOldPalette, true); ::DeleteObject(hPalette); } else { for(int j=1;j8;j++) { ::StretchDIBits(pDC-GetSafeHdc(),bitmapWidth/2, bitmapHeight/2,

您可能关注的文档

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档