碧波液压网 欢迎你,游客。 登录 注册

医学视频实验系统中基于Matlab的摄像头接口开发

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

1 引 言

Matlab具有强大的图形图像处理函数,可以比较快地实现算法,缩短开发周期。因此,很多医学图像处理的研究工作是在Matlab平台上进行的[1, 2]。尽管Matlab在对视频图像流的处理上有着很强大的支持函数供调用[3],也能够支持通用的数字摄像头,但是对于一些专业摄像头的支持并却没有提供。与通用数字摄像头相比较,一般来说,专业摄像头为了具有某种特定的功能和特性,有着自己独有的驱动程序和开发接口,因此要想在一些软件中获取它们实时采集的图像,必须自己编写两者之间的接口。

2 系统概述

本系统意在采集显微镜下观测到的兔子肠系膜血流的动态图像视频,并提取微循环中的红细胞运动和计算血流速度,其中运动提取和速度计算拟用Matlab实现。该系统使用定制的适配器将大恒摄像头HV2001UC连接在显微镜的目镜上,使图像能清晰地聚焦于摄像头上。摄像头通过USB口与计算机相连。大恒公司的摄像头开发包中提供有C编写的驱动开发函数。由于这些函数不能由Matlab直接识别和调用,所以需要编写相应的供Matlab直接调用的驱动接口程序。Matlab和C语言之间的调用有多种方法[4-6]。本程序采用C++编写的DLL程序供Matlab调用的方式实现连续图像的采集。

通过Matlab命令实现从摄像头采集到图像,需要经过3个实体:图像采集工具引擎、适配器和硬件驱动函数。图像采集工具引擎即相同于Matlab的图像采集工具箱,该工具箱中存在着采集引擎[7],实现Matlab与适配器的命令和数据传递。适配器即所要设计的接口,硬件驱动函数由大恒公司提供。整个工作流程为:①Matlab发出命令给图像采集引擎;②采集引擎把命令传递给适配器;③适配器把Matlab命令翻译成摄像头函数;④驱动函数接受命令,把命令转译成摄像头底层函数;⑤摄像头返回图像数据给驱动函数做暂时存储;⑥驱动函数传递数据给适配器;⑦适配器将作数据转换,以数组的型式读入,并且对读取的数据流进行处理和采用Bayer转化[8, 9]把读取的灰度图像数据转换为三元色;⑧采集引擎将获取AdaptorDLL输出的转换后的图像数据,并传递给Matlab。上述过程如图1所示,通过Matlab命令就可以对图像进行采集显示,对图像数据进行处理。由于硬件驱动函数由摄像头供应商提供,本文主要就适配器DLL的创建和图像采集引擎的使用进行介绍。

 

3 适配器DLL的创建

先由VC6. 0创建空DLL,在此基础上建立Adaptor的4个类,分别实现不同的功能,并提供5个全局函数供Matlab调用。

3. 1 类及其功能

考虑到适配器DLL中的4个类实现不同的功能,将其分别命名为Adaptor类,AdaptorFormat类,PropLis-tener类和sourceListener类。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签: MATLAB
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论