数字图像处理及应用:使用MATLAB分析与实现
上QQ阅读APP看书,第一时间看更新

1.3 数字图像处理系统

计算机技术的快速发展推动了数字图像处理技术的发展,反过来,数字图像处理技术的广泛应用又推动了计算机和微电子技术的发展。图像处理的大数据量,既推动了大容量存储器研发,也推动和培育了海量存储市场的发展。数字图像的高性能显示和输出,促进了高精度彩色显示器和彩色打印机的诞生与发展,并推动了对扫描仪、数码相机、摄像机等高精度数字图像输入设备的发展。

数字图像处理技术的快速发展和广泛应用推动了图像处理系统硬件的研发,不同行业对数字图像处理系统的性能提出了不同的要求。例如,医学影像处理系统对系统的处理速度和精度方面的要求较高,而指纹识别系统则要求系统具有实时响应的性能。虽然不同的图像处理系统在精度、速度、容量等方面的要求可能不尽相同,但数字图像处理系统呈现出专业化的发展趋势。

1.3.1 数字图像处理硬件系统

一个经典的数字图像处理系统如图1-3所示,主要包括输入设备、主机系统、输出和存储设备等三部分。

图1-3 图像处理系统的构成

1. 图像输入设备

图像输入设备包括图像采集与合成设备,以及输入图像存储设备等。随着技术的发展,图像输入设备的性能越来越高,但价格却越来越低。常用的输入设备主要包括图像采集卡、工业摄像机、光电扫描仪、数字相机、遥感遥测等多种设备类型。

(1)图像采集卡:图像采集卡(image capture card),又称为图像捕捉卡,是一种可以获取数字视频信息,并将其存储、播放、传输到计算机主机的硬件设备。采集卡是进行图像处理必不可少的硬件设备,很多图像采集卡能在捕捉视频信息的同时获得伴音,使音频部分和视频部分在数字化时同步保存、同步播放。

(2)光电扫描仪:包括平板式扫描仪和滚筒式扫描仪两种主要类型。

(3)数字照相机:又称为数码相机,可以进行景物拍摄并以数字形式存储所拍摄的图像。数字照相机的核心部件是电荷耦合器件(CCD)图像传感器,目前主流型号相机的分辨率已超过2000万像素,可以通过USB接口与计算机相连,将图像数据传入计算机并进行进一步处理。

(4)电子成像管摄像机:电子成像管摄像机的关键部件是摄像器件。摄像器件将输入的二维物体信息(即光学图像)转换为适于处理和传输的电信号。

(5)固态摄像机:包括CCD阵列、电荷注入器件(CID)阵列和光电二极管阵列三种类型,其中CCD已得到广泛应用,并已逐渐替代电子成像管摄像机。

2. 图像算法系统

数字图像处理的算法系统一般由台式计算机、笔记本电脑、服务器以及其他各种高性能主机系统组成,包括硬件和软件两大部分。常见的图像处理系统主要有计算机和苹果机系统。

(1)计算机:计算机包括台式计算机、笔记本电脑、服务器以及其他各种高性能主机。个人计算机(PC)通常以Windows或Linux作为操作系统,目前通用的图像处理软件一般都可以在PC上运行。随着微型机速度和容量的提高,PC与小型机工作站的性能差异已经越来越小,包括ERDAS和PCI Works等许多遥感图像处理软件已经可以在PC上运行。随着PC处理速度和存储性能的提高,许多大型的专业化的图像处理系统也逐渐向PC上发展,但20世纪70年代以前,遥感图像处理系统一般只能在工作站上运行。

(2)苹果机系统:苹果机需使用专用的操作系统软件,在诸如广告、动画制作等领域主要使用苹果机等专业图像处理系统。在图像处理的早期,还有各种形式的图形工作站,如Sun、SGI和HP等公司生产的工作站。工作站一般采用UNIX操作系统,适应于包括遥感图像在内的大型图像处理系统的开发与应用。现在,由于计算机运算速度的快速提升,专业的工作站已很少见。

3. 输出与存储

图像处理系统的输出设备主要有如下三种类型。

(1)CRT显示器:图像处理系统中应用最广泛的输出设备是基于光栅扫描的阴极摄像管所构成的CRT监视器。随着技术的进步,液晶显示器(LCD)、PDP显示器等输出设备也开始得到了广泛的应用。

(2)打印机:显示器一般用于图像的暂时显示,而打印机可用于将图像永久地记录在纸上。目前常用的图像打印设备主要包括彩色喷墨打印机和激光彩色打印机等。

(3)其他设备:数字图像还可以通过一些专门的记录设备将图像记录在胶片(底片)上,然后通过传统的洗像技术或打印机输出。大幅面的遥感卫星图像通常采用这种输出形式。

由于数字图像处理系统数据量非常庞大,因此图像处理系统的存储设备一般选用磁带、光盘和大容量硬盘等存储器。

1.3.2 数字图像处理软件系统

数字图像处理系统不仅包含硬件设备,而且需要一定的软件环境支持。以现阶段的情况看,图像处理软件平台一般在Windows下开发,图像软件开发的工具多种多样,但主要包括以下几种。

1. MATLAB图像工具箱

MATLAB是由MathWorks公司推出的用于数值计算的综合工具。它具有强大的矩阵运算和大数据处理功能,而数字图像处理与矩阵运算具有密切的联系,并且MATLAB图像处理工具箱提供了丰富的图像处理函数。熟练使用这些函数可以完成几乎所有的图像处理工作。不断推出的MATLAB新版本其图像处理功能越来越强大,应用它进行数字图像处理可以节省大量编写底层算法源代码的时间,避免程序设计中的重复劳动,达到事半功倍的效果。MATLAB的不足之处是运行程序需要安装有MATLAB系统,应用不方便,执行速度较慢。

2. Visual C++开发系统

由于Visual C++是一种具有强大综合软件开发能力的系统,而且所开发出来的应用程序运行速度快,并具有一定的可移植性能,因此,Visual C++在数字图像处理、分析和识别等方面的应用较为广泛。此外,各国的科学家和研究机构开发了不少专用的图像处理软件环境。

3. OpenCV

OpenCV的全称是Open Source Computer Vision Library。OpenCV于1999年由Intel公司推出,现由Willow Garage提供支持。OpenCV是一个基于(开源)发行的跨平台的计算机视觉库,可以运行在Linux、Windows和Mac OS上。Open属于轻量级且高效的开发工具,它由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。目前较新的版本是2.4.8。目前OpenCV拥有包括500多个C函数的跨平台的中、高层API,它不依赖其他的外部库(尽管也可以使用某些外部库)。OpenCV为Intel Integrated Performance Primitives(IPP)提供了透明接口,这意味着如果有为特定处理器优化的IPP库,OpenCV将在运行时自动加载这些库。OpenCV提供的视觉处理算法非常丰富,又由C/C++开发,加上其开源的特性,可以无须添加新的外部支持就可以完整地编译、连接生成执行程序,所以很多开发者用它进行算法移植,OpenCV的代码经过适当改写可以正常运行在DSP系统和单片机系统。

此外,国内外的一些研究机构还推出了许多其他数字图像处理软件,如AVS系统、SPIDER系统和IUE系统等。AVS的优点是具有对海量数据进行可视化处理的强大功能,在医学、图像显示、资源探索等方面得到广泛应用。SPIDER由日本通产省工业技术研究院开发和推出,包含了FFT、WHT等许多图像处理领域的基本算法,受到了业界的广泛好评。IUE是美国、欧洲、日本共同开发的图像处理系统,该系统具有严密的几何学描述,可用于各种类型的图像处理。