主页(http://www.pttcn.net):试析监控图像处理系统的软件结构与软件包 当前,安防监控技术已从经典模式向以图像处理、识别与跟踪为核心的现代智能化模式转变。因此,监控图像的检测、分析、处理、识别等智能化功能软件的研发尤为重要。本文介绍监控图像软件系统的分层结构、基础结构以及在Windows操作系统环境下设计菜单形式的图像处理软件包与图像处理的一些常用算法等。以供编写监控图像处理系统软件的研发者参考。 随着光电等现代科学技术的发展,以及现代信息社会的需要,安防监控系统已向着数字化、网络化、智能化方向发展,安防监控技术已从经典模式向以图像处理、识别与跟踪为核心的现代智能化模式转变。因此,监控图像的检测、分析、处理、识别等智能化功能软件的研发尤为重要。 监控图像处理软件的开发,首要的问题是要选择所依赖的软件平台以及图像硬件系统,即要选择操作系统、编程语言、数据库种类、图像硬件系统等。显然,这种选择一定要注意先进性问题,如当Windows操作系统已经上市以后,就不要再去选用DOS操作系统;同样,当Visual C++已经很流行的时候,就不要再去选用早期的Basic了。对于一个完整的监控图像处理系统的研发者来说,监控图像软件系统所配接的硬件,正是自行研制的图像硬件系统,因此还必须研制出适合这种图像硬件系统的设备驱动程序等。 图像处理系统的软件结构 1、图像的输入输出 2、图像文件的存储与加载 3、系统的管理 4、图像处理 5、图像的通信 图像软件系统的分层结构 一般来说,驱动硬件设备,可以采用以下三种方法: 从整个系统的数据处理流程可以看到,位于主机内的图像数据缓冲区是数据流从外部专用硬件平台到主机内部通用处理平台的中转环节。外部图像数据经PCI总线接口控制芯片写到缓冲区内,而内部的软件需要从缓冲区读数据,进行处理和显示。 视频图像数据的显示问题,目前都是利用WindowsAPI函数SetDIBitsToDevice实现图像数据从缓冲区到显示设备之间的传送。绝大多数显卡的硬件功能支持SetDIBitsToDevice,当硬件不支持时,Windows将提供经软件模拟的SetDIBitsToDevice函数。由于有统一的规范,不需要关心所选用的显卡的具体细节,同是显示模式的问题也迎刃而解了。由于图像数据的传输由显卡的硬件完成,所以能达到很好的效果。 Windows图像软件系统的基础结构 图像作为一个处理对象放到内存中,必须使用数据结构来描述它,这就是图像数据结构。对于任何一个图像应用程序来说,图像数据总是应用程序数据的核心部分。 应用程序的所有功能几乎都是围绕它进行的。如文件读写、扫描、拍摄、处理、显示、打印等,都需要建立、访问图像数据,实际上都是以图像数据结构核心为中心的。即使是最简单的图像显示软件,也需要图像文件读取和图像显示两大部分。 一个图像软件系统,包括不同的图像处理算法、图像显示、扫描仪或摄像机支持、图像采集卡支持、图像文件格式转换等,都涉及到图像数据结构。如果我们建立了一个以图像数据结构为核心的Windows图像软件系统的基础结构,就建立了一个完整的软件图像环境。 图像基础结构包括图像数据结构核心和围绕此核心构造的周边模块。图像数据结构核心是居于中心位置的。周边模块包括图像文件格式支持、图像显示、图像处理等。 |