微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 浅析监控图像处理系统的软件结构

浅析监控图像处理系统的软件结构

时间:01-20 来源:互联网 点击:

的实现,而用其他的语言实现某些相同的功能可能要花很大的精力;C/C++语言移植性强,几乎可以移植到任何硬件和操作系统中。

图像基础结构的内部实现可以使用C++,但是对外接口一律使用C界面。因为C++的名字解析方法没有统一的标准,不同公司的C++编译器对相同的C++符号解析得到的名字可能完全不同,因此不同C++编译器生成的目标文件不能正确连接。这使得像Windows系统下具有C++接口的动态连接库(DLL)的应用不太可行,所以对外接口使用C语言则没有这个问题。

避免使用依赖于平台的声明、函数等,保持核心的可移植性。图像核心定义和代码只使用标准C数据类型和标准C库(ANSI)调用。当需要高端应用时,图像核心可以迅速移植到UNIX及其他平台,使整个应用具备较强的移植能力和伸缩性。

目前,图像基础结构包含如下模块:

·StdImage:图像数据结构核心以及对此核心进行操作的基本函数;

·ProgressStub:进度处理机制的定义和接口;

·VirtualFile:虚拟文件I/O界面;

·Vf_file:虚拟文件I/O的实际文件实现;

·Vf_memory:虚拟文件I/O的内存文件实现;

·ImageFile:虚拟图像文件读写界面;

·Jfit_file:虚拟图像文件读写界面的JPEG格式实现;

·Bmp-file:虚拟图像文件读写界面的BMP格式实现;

·Fgi_file:虚拟图像文件读写界面的自由灰度图像格式实现;

·DibStdImage:DIB(设备无关位图)与StdImage之间的转换;

·mess_util:难以归类的杂项辅助功能;

·ProgressWinHint:Windows下的一个进度处理机制实现;

·WinMessUtilities:Windows下的难以归类的杂项辅助功能。

由于面向帧存的图像硬件系统的结构,以图像帧存为核心,还包括图像的输入输出和处理等模块;而面向计算机内存的图像系统里,是以计算机内存为核心,同样包括有图像的输入输出和处理等模块。前者以整体硬件结构为主体,软件似乎只是图像处理和数据存储,后者以整体软件结构为主体,硬件则纳入软件的管理之下。这两种系统结构的差别很大,但从功能来讲,有其相似之处。

面向计算机内存的图像软件系统结构,称之为Windows图像基础结构,这种Windows图像基础结构的总体结构框图如图2所示。在图2中,StdImage结构代表了一个图像或图像序列,所有的功能几乎都围绕它进行。它可以利用ImageFile模块从图像文件装入图像,或者将图像写入文件中。在Windows环境下,为了显示或打印图像,通常会使用DIB,此外,像扫描仪、摄像机等还会以DIB的形式向计算机输入图像,因此图像基础结构设有DibStdImage模块,以便在DIB和StdImage之间进行快速转换。图像通信插入在网络和StdImage之间,由此可以实现图像的传输,而这种传输,是以内存为媒介,它具有速度快的优点。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top