多媒体_图像变换动画.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多媒体_图像变换动画

///////////大 学 学 生 实 验 报 告 实验课程名称 多媒体技术 开课实验室 学 院 学 生 姓 名 学 号 开 课 时 间 2015 至 2016 学年第 一 学期 总 成 绩 教师签名 软件学院制 《多媒体技术》实验报告 开课实验室: 2015 年 10月 30 日 学院 年级、专业、班 姓名 成绩 课程 名称 多媒体技术 实验项目 名 称 图像变换动画 指导教师 教师评语 教师签名: 年 月 日 一、实验目的 通过两幅图像的变换,实现动画效果。 二、实验原理 变形动画将一幅图像动态变换为另一幅大小相同、结构相似的图像。其中需要在两幅图像的主体结构中标注对应的变换点,在变换过程中按照对应点进行形状结构的变换。 如果不考虑图像形状结构的变换,则可简单地实现将一幅图像动态变换为另一幅大小相同的图像。其对应变换点就以对应的像素点确定。本实验即按照该方式实现。 对于大小不一样的图像需要更复杂的处理方式。需要一定的插值算法生成图像变换所产生的额外的像素值。最终效果因算法的不同而不同。本实验不考虑该情形。 变换结果先以图像文件方式存储,然后可采用两种方式实现动画展示:使用构造GIF动画的软件将变换过程的图像连接成GIF动画;自行编制软件按照一定的速度打开并展示变换过程的图像,形成动画展示效果。 理论上对于不同格式的图像文件均可以实现图像变换动画。这里为了简化操作,统一使用BMP格式的图像文件。 对于24位真彩色BMP图像构造图像变换动画,主要就是对于图像数据阵列中的各对应像素点的RGB值进行插值变换,实现将一幅图像中的像素点的RGB值变换为另一幅图像中对应像素点的RGB值。 对于使用调色板的BMP索引图像,生成图像变换动画的过程稍稍复杂。其变换方式有三种:(1)保持调色板不变,对于像素点进行颜色变换。将一个像素点变换为其对应的像素点时,根据该像素点索引值所指向的调色板表项的RGB和其对应的像素点索引值所指向的调色板表项的RGB,计算其变换图像的RGB值,然后在调色板中查找与变换过程图像的RGB值最接近的表项,将其对应的索引值作为变换过程图像的像素索引值。该方式不改变原始调色板,但需要将变换过程RGB值映射为调色板中最接近的表项;(2)允许改变调色板,对于像素点进行颜色变换。根据变换图像各像素点的索引值找到其对应的调色板表项,从而获取各像素点的RGB值。然后按照与24位真彩色BMP图像变换相似的方式,通过插值计算变换过程图像各像素点的RGB值。该方式将可能在变换过程图像中生成超过256种RGB组合的颜色。如果再采用索引图像方式存储该图像,则需要自行构造新的调色板,并将变换过程图像各像素点的RGB值映射到调色板中的表项;(3)保持调色板不变,对于像素点进行索引值变换。即,对于变换图像像素点的索引值,通过插值计算变换过程图像的索引值,实现简单的图像变换。 上述三种图像变换方式中,第三种难以实现平滑的图像颜色变换,效果较差;第二种实现过程较为复杂,需要自行生成新的调色板;第一种最为可行。 三、实验内容 打开两幅大小相同的BMP图像,分别指定为起始帧、终止帧,指定变换帧数,实现将图像从起始帧逐步变换到终止帧,将一副图像动态地变换为另一幅图像。 四、实验工具 VS2013 五、实验步骤 如果不在程序中实现图像的打开显示和变换动画显示,可以利用控制台程序读入图像,处理后生成各中间帧。 如果要在程序中实现图像的打开显示和变换动画显示,在这里将关键实验步骤分为c++和c#两个不同的版本叙述,提供实验方法而不阐述具体实现步骤: C#版: C#对于图像的操作已经封装好了具体的类Bitmap,参阅资料就可以熟悉Bitmap类中所有成员函数及属性的作用,动态效果主要是利用timer控件。 MFC布局如下: Time1的Enabled 设置为True,Interval设置为10000ms相当于10秒 Main.cpp: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using Syste

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档