基于OpenCV的DMD视频播放程序开发

摘 要:针对DMD视频播放需求,提出了一种基于OpenCV的视频播放程序开发方法.利用面向对象开发平台VC++6.0设计程序操作界面.调用OpenCV中封装好的函数实现I格式视频文件的读取与预处理,将图像帧转换成DMD播放需要的特定灰度图像.通过USB将转换后的图像传送至DMD播放,并在操作界面上实现视频同步播放.

关 键 词:OpenCV;DMD;VC++6.0;视频播放程序;USB

中图分类号:TP37文献标识码:A文章编号:1009-3044(2014)34-8283-02


DMD(DigitalMicromirrorDevice)[1-3]视频播放程序开发工作量很大,它需要将普通视频格式数据进行读取和处理操作.将每一帧数据转换成DMD播放所需要的1024*768的8位深度的灰度图像.如果视频帧的读取、拉伸变换、灰度转换等程序都自己亲手从底层去编写,将会浪费大量时间和精力.OpenCV[4-8]提供了非常丰富的开源图像处理函数,在VC++6.0编译环境下装载OpenCV图像处理算法库,为机器视觉、数字图像处理提供了极大的便利.

因此,该文提出了一种基于OpenCV的视频播放程序开发的方法,通过调用OpenCV函数库中的图像处理函数实现视频数据的一系列操作,缩短开发时间,提高科研工作效率.给出了DMD视频播放程序开发实例,可以对任意格式I视频数据实现读取与图像处理操作,最终实现DMD与操作程序界面同步播放.

1系统功能需求

1.1视频播放程序功能需求

视频播放程序功能需求主要如下:

1)I视频载入,选择计算机上的I视频载入到播放程序中;

2)设置播放速度,即帧率,可以实时的控制视频的播放速度;

3)视频播放的基本操作主要包括播放、停止与暂停;

4)视频USB通信状态显示,以便观测视频是否成功发送至DMD.

1.2视频播放程序工作流程

该DMD视频播放软件主要工作流程是:用户载入计算机中的I格式视频,读取视频的基本信息(主要是帧数),抽取需要播放的视频帧图像;先进行线性拉伸变换转,将其换成1027*768大小的图像,再将其转换成8为灰度图像;将设置播放速度,通过USB将该图像数据传送至DMD供其播放,同时将该帧图像显示到程序主界面的图像控件中,实现视频的同步播放.其基本操作流程图如图1所示.

2视频播放程序开发实例

开发环境:WindowsXPMicrosoftVisualC++6.0OpenCV2.0

在VC++6.0中创建基于对话框的MFCAppWizard(exe)工程,程序主界面如图2所示.

1)视频播放与图像显示区域:显示播放的视频、图像;

2)I播放控制:

①点击“打开”按钮,弹出打开文件对话框,选择要播放I视频文件;

②点击“播放”按钮开始播放视频.点击“暂停”按钮可以暂停播放,停止在当前帧.再次点击“播放”按钮继续播放.点击“停止”按钮,停止播放,并回到视频第一帧;

③滑动滑块可以实时调节播放速度(15~25帧/秒);

3)状态显示:显示系统工作状态;

①USB连接测试时,显示是否连接成功;

②播放视频时,显示每一帧图像是否发送成功;

③播放图片时,显示图片是否播放成功.

4)USB控制:USB连接测试、播放图片、清空显示、退出程序操作.

主要操作实现代码如下:

①打开I视频操作:打开对话框查找计算机中I视频文件

②抽取播放帧图像信息:

③帧图像处理:将图像转换成8位1024*768大小灰度图像

④操作界面视频播放

⑤USB传送1024*768的8位灰度图像至DMD播放

调用系统函数bOpenDriver(等)建立程序与DMD的连接;通过DeviceIoControl(等)函数实现将图像数据发送至DMD播放.

3总结

本文介绍了基于OpenCV的DMD视频播放程序开发实例,实现了I视频数据的读取、处理与实时播放.利用OpenCV中的函数使得视频数据读取、处理、播放问题变得简单,大大节省了程序开发时间,具有很强的实用价值.

类似论文

Web应用程序开发

一、Web应用程序开发 Web应用程序既不是一个真正意义上的Web网站 也不是一个传统的应用程序,它是Web网页和用来完成某些功能。
更新日期:2024-3-26 浏览量:43749 点赞量:9857

基于Forward平台底层WellBase的应用程序开发

摘 要: Forward是目前各油田广泛应用的勘探开发一体化测井评价商业软件,其底层平台开发工具包WellBase SDK更是为用户进。
更新日期:2024-8-14 浏览量:107862 点赞量:24103

网络化CAD测试系统客户端程序开发

摘 要:计算机辅助设计(CAD)是现代工程及产品设计的先进技术,在工业各领域有着广泛的应用和重要的推广价值 本。
更新日期:2024-7-26 浏览量:96065 点赞量:21413

5S质量管理在程序开发中的作用建议

摘 要:5S管理即质量程序管理,包括整理(SEIRI)、整顿(SEITON)、清扫(SEISO)、清洁(SEIKETSU)、素养(SHITSUKE)程序,起源于。
更新日期:2024-2-13 浏览量:33172 点赞量:8692

程序开发教学在高职药学专业中的应用

摘 要:针对新版GSP对药品经营企业在计算机系统管理控制方面的要求,以高职药学专业为例,阐述计算机程序开发的教学应该。
更新日期:2024-11-10 浏览量:143915 点赞量:31325

基于OpenCV的火灾视频识别方法

摘 要为了提高火灾自动报警系统的及时性和准确性,以促进灭火效率减少火灾事故损失,提出了一种基于开源跨平。
更新日期:2024-10-12 浏览量:130372 点赞量:28130