全搜索块匹配法课程设计报告.doc

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

成绩 课程设计报告(论文) 题 目 全搜索块匹配算法的实现 课 程 名 称 多媒体信息技术 专 业 信息工程 班 级 学 生 姓 名 学 号 设 计 地 点 指 导 教 师 设计起止时间:2011年9月5日至2011年9月9日 一、课程设计目的 本次课程设计的目的是通过课程设计,达到理论与实际应用相结合,提高学生对多媒体信息的各种处理方法的理解和编写大型程序的能力,使学生能够根据处理的信息的特征,掌握数字图像处理、数字视频编码和数字音频编码的算法设计基本方法,并培养良好的程序设计能力。 二、实验要求 编写针对一个搜索点宏块比较的下面两个匹配函数:均方误差(MSE)、绝对值误差(MAD)。函数名直接使用简写。要求当前帧和参考帧的数据均采用二维数组表示。 针对 YUV 文件foreman_qcif_400 的Y 分量,采用全搜索块匹配方法得到所有宏块的运动矢量,将运动矢量存储成文本文件。搜索范围为[-15,15]。分别针对四个匹配函数生成四组结果。 三、课程设计任务及工作量的要求(包括课程设计计算说明书、图纸、实物样品等要求) 1、了解相关理论知识。 2、完成算法描述,并编程实现(采用C或C++编程)。 3、提供程序源代码,程序能正常运行并得出正确的结果。 4、对实验结果进行分析。 四、函数定义: 为了获取void Read_Y(unsigned char *p,char *FileName,int z) { FILE *fp=0; if ( fp=fopen(FileName,rb ) ) { fseek(fp,z*176*216,0); for (int j=0;j144;j++,p+=176) for (int i=0;i176;i++) fread(p+i,1,1,fp); fclose(fp); } } 五、全搜索算法及程序流程图: 将图像的k+1帧分为不重叠,紧靠的N*N大小的块,然后依次对每一块进行处理。在处理某一块时,以该块的中心点为中心点,在源帧k中的窗口内的每个像素进行一次匹配,计算所有的MAD,然后找出最小的MAD的点,就是与之相匹配的点。 四、运行结果: 本次课程设计由于各方面原因导致实验结果没有出来,只有下面的半成品 五、实验总结 通过本次对全搜索块匹配算法课程设计,让我更深刻的理解了多媒体信息的获取、搜索和保存的基本方法。基于块的运动估计,是先将视频图像分成一个个规则的图像块,然后对每个图像块估计运动矢量。基于块的运动估计和运动补偿已经广泛应用于各种视频压缩编码标准。因此,本次课程设计是非常有作用的,让我们清醒的认识到自己还有好大的差距,它让我了解了多媒体处理的基本原理。课程设计中会遇到很多很多的困难,但在同学的帮助和自己思考下最终还是没有解决问题。所以,本次课程设计我个人的收获不大,但是让我知道自己还在图像编程方面有很多欠缺的地方,不仅对均方误差(MSE)、绝对值误差(MAD)更深的理解,并且采用全搜索块匹配方法得到所有宏块的运动矢量,把c语言的知识又重新的过了一遍,同时还理解了些多媒体信息处理的基本原理。这次课程设计为以后毕业设计敲响了一次警钟。 六、主要参考文献 [1] R. C. Conzalez 编,阮秋琦等译2003 [2] 黎洪松. 数字视频处理[M]. 北京邮电大学出版社,2006 [3] 谭浩强.C语言程序设计[M].清华大学出版社,2006 [4] 谭浩强.C++语言程序设计[M].清华大学出版社,2006 [5] 周长发精通Visual C++图像编程电子工业出版社#include stdafx.h #include Block.h #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif CBlock::CBlock(){} CBlock::~CBlock(){} void CBlock::Block_match(unsigned char *oldorg, int width, int height, unsigned char

文档评论(0)

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

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

1亿VIP精品文档

相关文档