仪表互连的图像采集及处理方法
将非电子仪表集成到自动化系统中,大多采用对仪表盘识别的方法,而BMP是主要的处理格式。本文介绍了如何将USB摄像头采集到的非电子仪表表盘图像以BMP格式在储到指定路径的程序设计。程序以VC++6.0作为开发平台,采用多线程解决方案,充分利用了CPU资源。采用此方案后,系统从采集到处理输出一帧图象的时间小于85mS,达到了实时的要求。
当今,非电子式仪表依然被应用在很多领域,要把它们集成在自动化系统中与其它的电子设备互连,对仪器仪表盼面的计算机识别是一个好方法。在计算机图像处理中,BMP为主要格式,且大多以PC机为平台进行,所以要求PC机能够方便、快捷的获取BMP图像。目前对图像的采集大多使用图像采集卡加CCD摄像头的方法,这样成本高,且系统调试麻烦。而随着电子产业的飞速发展,USB摄像头的价格大幅下降,自然想到用USB摄像头直接捕捉图像并以BMP的格式传递给图像处理平台。为了提高采集处理的速度,充分利用CPU资源,本文介绍如何使用USB摄像头进行多线程图像采集,具有实际应用价值。
摄像头自带的图象采集软件是一可执行文件,与后面的处理程序连接困难,不易控制,实时性差,不能满足系统要求。本文中使用VC++6.0作为软件开发平台;调用wun32函数库中的avicap32动态连接库采集USB摄像头捕获的图像;考虑到摄像头向计算机的数据传送速率远小于计算机CPU的处理速率,所以,给视频预览和图像采集分别定义了一个线程,使得整个系统在图像采集的间隙可以对采集到的图像进行处理并输出,提高了整个系统的实时性。
1 Windows应用程序与USB设备交互访问(略)
2 Windows视频捕捉方案(略)
3 MFC与多线程
4 软件开发过程(略)
5 试验结果分析(略)
6 结 语(略)
文章版权归西部工控xbgk所有,未经许可不得转载。