- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅谈实现显微视频的显示采集与处理
浅谈实现显微视频的显示、采集与处理
初中生物教学中现代教学资源的开发、管理与应用系列研究之一
重庆市巴南区渔洞南区学校 李杰
摘要:为教师在生物实验课中更好的展示素材,包括实验操作视频、实验中观察到的图片等,可以让学生感性的认识实验过程以及实验中的注意事项,提高生物实验教学的有效性。因此,如何来获得显微实验的视频资源就是此课题研究的关健之一,本文详细介绍了利用DSPACK开发包在C++Builder环境下实现显微镜下视频图像的采集与处理的方法,并给出了关键代码的示例。
关键词:生物实验教学 有效性 视频采集 DSPACK C++Builder
一、引言
随着计算机技术的不断提高, 视频的应用越来越多,在生物教学中的显微图像实验就是其中之一,在教师讲授显微图像时,由于传统的显微图像是师生通过显微镜来观察,有可能因实验的条件不够或学生操作不当造成实验的效果不理想,教师也就不能很好的加以讲解,如果采用专门的显微图像采集设备,将传统的显微镜加以改造,就可以将显微镜下的最佳图像在显示器上进行显示,这样将大大提高课堂学生分组实验的效果并极大的方便了教学,同时还可以将显微镜下的图像进行拍照、录像,为教师制作课件及素材提供了极大的方便。
针对于这种多媒体应用的开发,微软推出了功能强大的DirectShow 开发包,它很好的解决了多媒体数据的实时传输和多媒体应用与硬件相脱离等问题, 得到了广泛的应用。DSPACK 作为基于DirectX 和DirectShow 技术的面向C++builder 的开发包, 不仅包含了DirectShow 强大的功能, 而且也使得利用C++builder 环境开发多媒体应用变得方便而快捷。本文给出了一种基于DSPACK 的视频采集与处理方案, 并对方案中的具体实现过程进行了详细的描述。
二、系统组成与实现技术
1、系统组成
在我们的视频采集系统当中, 采用了显微电子目镜WT-02作为视频采集设备, 该设备使用USB接口与电脑相连, 驱动程序遵循WDM框架。在PC 机上, 使用C++Builder及DSPACK开发包进行相应的视频采集和处理软件的开发。整个视频采集、处理系统的原理如图1 所示
由于DirectShow 技术脱离硬件的特性, 当设备驱动符合WDM框架时, 使用DSPACK开发的应用程序与硬件设备无关, 对于具体的设备初始化和基本的操作都是由驱动程序完成, DSPACK 只是完成高层次的控制以及视频流的解码、显示和捕获等。
2、DSPACK开发包的安装及配置
首先下载DirectX开发包及DSPACK开发包,并解压DSPack开发包到指定的目录,以及安装DirectX开发包,以\$(DSPACK)\当作所在目录以\$DXSDK\当作所在目录?以\$(BCB)\当作BCB所在目录?将\$(DSPACK)\include里的文件覆盖\$(DXSDK)\include里的文件再把\$(DXSDK)\include里的文件覆盖到\$(BCB)\include目录。?在\$(DSPACK)\packages\目录里,依序执行下面的3个文件DirectX9_BCB6.bpk ? 执行compiler,保存DSPack_BCB6.bpk ? 执行compiler,保存?SPackDesign_BCB6.bpk ? 执行install,保存?在用之前,先在Tools- Environment Option- Libary- Libary path?加入\$(DSPACK)\lib、\$(DSPACK)\src\DSPack、\$(DSPACK)\src\DirectX9?如果还有错误,在Project- Options- Directories/Conditionals- Library Path里面点delete invalid paths” 把无效的路径去掉,\$(DSPACK)\src下面的路径
视频采集设备枚举
首先需要得到系统当中视频采集设备,然后才能对其进行相应的操作,这就需要建立一个系统设备枚举的类,通过使用其枚举过程枚举出系统中所有的采集设备,同时通过过滤器得到各个采集设备的名称和属性等。主要代码为:
SysDev = new TSysDevEnum(CLSID_VideoInputDeviceCategory); //建立设备枚举类和过滤器表
if (SysDev-CountFilters 0)
{
int i;
TMenuItem *Device; //将可用的设备加入系统菜单
for(i = 0; i SysDev-CountFilters; i++)
{
Device = new TMenuItem(Devices);
Devi
文档评论(0)