载成功后,点击“播放”按钮,接下来视频会进行播放。
程序每各一段时间,读取一帧视频图像,并将其显示在 Picture Control 中,直到视频的结束,从而实现了视频的播放。
视频播放程序流程图如下图 5.6 所示。
8 图 5.6 视频播放程序流程图 在视频的播放过程中,如果“暂停”按钮被点击,则定时器被暂停,上述的读取与显示视频的工作进入暂停状态;当“播放”按钮被点击后,定时器再次被启动,读取与显示工作,继续进行。
如此,则实现了视频的暂停与播放功能。
视频播放源程序请见附录。
视频播放画面如下图 5.7 所示。
9 图 5.7 视频播放画面5.4 去抖动模块 当 视 频 加 载 完 成 后 , 当 点 击 “ 去 抖 动 ” 按 钮 后 , voidCMFCVedioPlayDlg::OnBnClickedQudou函数将读取的视频进行相关的去抖动处理,并输出处理后和未处理的原视频进行对比显示。
运行现象如下图 5.8 所示。
图 5.8 去抖动运行中 本系统采用灰度投影法进行去抖动处理。
灰度投影法首先计算每幅图像的水平方向投影曲线和垂直方向投影曲线,然后计算视频相邻图像投影曲线的相对运动,即图像的全局运动向量。
然后进行适度地运动补偿,然后进行输出。
去抖动程序流程图如下图 5.9 所示。
10 图 5.9 去抖动程序流程图 在对“原视频”与“去抖动”窗口进行对比后,可以发现去抖动程序起到了明显的效果。
在去抖动的过程中,可以通过按 Esc 键退出。
去抖动源程序请见附录。
6、调试过程 本系统设计平台:VS2010、OpenCV2.4.3 首先进行工程的配置。
在“VC目录”下,对可执行文件目录、包含目录和库目录按照自己的情况进行配置。
配置情况如下图 6.1 所示。
11 图 6.1 VC目录配置 对“链接器—输入”下的附加依赖项和延迟加载的 DLL 进行相关配置。
配置情况如下图 6.2 所示。
图 6.2 链接器配置 编写源代码完成后,进行编译。
编译结果如下图 6.3 所示。
从图中可以看出编译已经成功。
12 图 6.3 源程序编译结果 接下来进行调试。
在调试过程中若发现问题,则回去修改源程序,知道调试成功。
调试成功的结果如下图 6.4 所示 图 6.4 调试界面7、小组分工 姓名 任务 备注 陈旭 查文献资料 尹海猛 编程实现 组长 陈志勇 做 ppt,答辩 谢发隆 编程实现 13 我在实验过程中,主要负责编程实现的工作。
接到任务后,考虑到之前没有使用 MFC和 OpenCV 的经验。
我首先学习了 MFC 的相关知识,并通过几个简单的小例子,从总体上对 MFC 有了个整体的把握。
然后,又查看了 OpenCV 的相关知识,和相关实例,直到可以编写简单的小程序。
接下来通过阅读陈旭提供的文献资料,对视频的去抖动算法有了个大概的认识。
然后,我对几个去抖动的算法进行了比较,经过多方面的对比,最终选择了灰度投影法。
然后,进行代码的编写、调试。
此过程较为复杂和繁琐,其过程中遇到了不少问题,但通过查阅相关资料、上网搜索以及求助他人的方法,最终都一一解决。
最后,将实验过程在实验报告中体现出来。
画出程序的流程图,书写程序运行原理,贴出调试过程的图片等等。
8、收获与体会 14 参考文献1 Jean Malleux,James Cruickshank and Leandre Sevigny. Video-rate imageStabilization systemJ. SPIE19983414:2322402 Rousso B,Avidan SShashua A,Peleg S. Robust recovery of camera rotationfrom Three framesC. Proceedings of the IEEE Computer Soeiety Conferenceon Computer Vision and Pattern Recognition.1996:798023 Alliney S , Morandi C. Digital image registration using ProjectionsC.Proeeedings of the 1984 International Joint Alpine Symposium. MediealComputer Graphics and Image Communications.1984:1031084 Egusa Yo , Akallori Hiroshi , Morimura Aisushi , Wakami Noboru. Anelectronic video Came.
上一篇:
计算机实习指导书c++
下一篇:
经济酒店发展:China''s economy hotel market development strategies