《Visual C++数字图像模式识别技术详解(第2版)》一1.1 数字图像处理概述

1.1 数字图像处理概述

数字图像处理也称为计算机图像处理,是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。数字图像处理起始于20世纪50年代,并于20世纪60年代初期形成一门独立学科。目前,数字图像处理技术作为自动化、信息化的一个重要手段广泛应用于各行各业许多环节中,为提高工作效率和工作精度做出了不可忽视的贡献。正因为如此,图像处理理论和技术受到了各界越来越广泛的重视。

1.1.1 数字图像获取

图像是指自然景物存储在各种介质上的视觉信息。这类原始图像也称为模拟图像。计算机无法直接处理模拟图像,而需要将其转换成数字图像并采集到计算机中再进行处理。这一过程称为数字图像获取。
数字图像获取一般包括图像摄取、转换及数字化等几个步骤。该部分主要由硬件实现。例如,扫描仪可以将印有文字的书页转换为数字图像并采集到计算机中。其核心元件包括光学成像部件和光电转换部件。光学成像部件由灯管、反光镜、镜头,以及电荷耦合器件组成。扫描仪工作时,灯管发出强光照射书页;镜头在反光镜辅助下对书页图像的反光进行聚焦,并由电荷耦合器件进行光采集,生成关于书页的图像。这种图像还需由光电转换部件将其转换成计算机可以读懂的二进制数字格式,即生成最终的数字图像。最后,扫描仪通过通信接口将数字图像传送至计算机中,完成整个书页图像的获取过程。

1.1.2 图像显示与存储

图像采集到计算机中,是以图像文件的形式存储的。在需要时,由应用程序对这些文件进行读取及信息处理。
1.图像显示
图像在计算机屏幕上的显示,实际上是从存有图像数据的图像文件中取出数据,再按计算机显示电路的要求送到显示存储器和调色板中的过程。其中,显示存储器中的数据是关于在计算机屏幕不同位置上显示的颜色值,而颜色的定义则由调色板控制。同时,从图像文件头中可取得图像的各种参数,这些参数用于控制图像的显示。如果文件中数据的存储形式与显示模式不一致,则还须进行类型转换。
2.图像存储
显示在屏幕上的图像,其调色板寄存器和显示存储器中的数据可用专门编制的程序读出。图像参数可以在显示过程中得到。屏幕图像的存储过程则按显示过程的相反方向进行。

1.1.3 数字图像文件

为了对数字图像文件进行正常存取,这里介绍数字图像文件的文件结构。尽管图像文件种类繁多,但其结构却相似。
1.图像基本类型
为了更清楚地解释数字图像文件结构,先简单介绍一下数字图像按颜色分类的基本类型。
(1)二值图像
一幅二值图像的像素值仅由0、1两个值构成,“0”代表黑色,“1”代表白色。由于每一像素取值仅有0、l两种可能,所以计算机中二值图像像素的数据类型通常为1个二进制位。
(2)16色图像
一幅16色图像像素值的取值范围为[0, 15],由4个二进制位表示。实际上,这0到15并不代表具体颜色,而是调色板中16种颜色的索引值。由于这类图像只能显示16种颜色,因此显示效果不是很精细,现在只在图标等较少的场合中应用。
(3)256色图像
一幅256色图像像素值的取值范围为[0, 255],由8个二进制位表示。和16色图像一样,这0到255也不代表具体颜色,而是调色板中256种颜色的索引值。和16色图像相比,由于可显示的颜色更丰富了,显示效果得到明显改善。
256色图像更重要的一种应用格式是256灰度图像。256灰度图像实际上是256色图像的一个特例。图像像素值的取值范围仍然是[0, 255],但每一个数值代表一种灰度,“0”表示纯黑色,“255”表示纯白色,中间的数字从小到大表示由黑到白的过渡色。就文件格式而言,256灰度图像仍然采用256色图像的格式,只不过其调色板中的256种颜色已明确由小到大定义成不同灰度的颜色。由于256灰度图像去除了颜色信息,因此,在很多图像分析场合,尤其是数字图像模式识别应用中较常用。
(4)真彩色图像
和上述图像不同,真彩色图像的像素值直接表示具体颜色,因此没有调色板。一般,真彩色图像的每个像素值由3个字节组成,分别表示红(R)、绿(G)、蓝(B)三原色的亮度值。组合在一起,真彩色图像共可以表示256×256×256=16 777 216,或16M种颜色。由于真彩色图像所能表示的颜色数量已经超过人眼所能分辨的颜色数量,因此,实际应用中认为真彩色图像的显示效果和数字化前的原始图像是一样的,这也是真彩色图像名称的由来。
2.图像文件结构
在计算机中,数据是以文件的形式存储在外存储器中的,图像数据也不例外。图像文件就是以数字形式存储起来的图像。为了便于读写,图像数据一般以一定的格式存放。目前已有几十种图像文件格式,它们虽各不相同,但都具有相似的特征。图像文件一般由文件头、像素数据和调色板数据三部分组成。
(1)文件头
文件头用于存放图像基本信息,包括各种特征参数、像素数据与调色板数据在文件中的存放位置,以及文字注解等。它分固定格式及灵活格式两大类。前者如BMP、PCX文件等,它们存储规定的参数,且数据在文件中的存储位置是固定的。后者如TIF文件,文件中除了规定的参数外,还可自行定义特征参数,数据在文件中的存储位置也不固定,且同一文件中还可存放多幅图像。还有一些格式介于两者之间,如GIF和TGA文件格式。
(2)像素数据
像素数据以位图的形式存放,每个像素数据对应图像相应位置上的颜色值,具体颜色值的定义由调色板数据提供。像素数据有压缩和不压缩之分。压缩数据可以节省存储容量,但在存取时须进行压缩和解压缩处理,处理速度稍慢。不压缩的像素数据在不同格式的图像文件中的存储结构基本相同。
(3)调色板数据
调色板数据是指二值、16色和256色彩色图像的色调数据,一般放在文件头。图像显示时需要调用调色板数据。
真彩色图像的像素数据中已有颜色分量,故不再需要调色板数据。
3.图像文件常用参数
在图像的显示控制中最为重要的参数为图像的宽度、高度、每像素所占位数、位平面数、图像类型、像素数据存储位置、调色板数据存储位置、压缩类型和图像扫描方向等。它们可分为图幅参数、类型参数、位置参数和其他参数4类。
(1)图幅参数
图像的宽度和高度是图像的基本参数。由图像宽度可以计算出每行字节数,即由图像宽度乘以每像素字节数直接求得,但有的图像格式要求每行字节数是4的倍数(如BMP文件)或偶数(如PCX文件),计算时须调整。
(2)类型参数
图像的类型参数通过每像素所占位数进行表示,包括1、4、8、24等。其中,类型为1、4、8的图像中,每像素数据仅为调色板上的颜色索引号,因此,其对应调色板所存储的颜色个数分别为2、16和256。而类型为24的图像是真彩色图像,由于其每像素数据直接表示对应颜色值,因此,它不需要调色板数据。
有的图像类型还特别注明图像是黑白还是彩色。有了这个参数,类型为8的黑白图像文件中,每像素数据可以直接表示对应黑白灰度值(0~255),因此可以省略调色板数据(如TIF、TGA文件)。
(3)位置参数
像素数据和调色板数据的存储位置用于对图像数据的存数指针、取数指针进行定位。它们的存放位置可以是固定的,也可以是不固定的,因不同文件而不同。
这里须注意图像扫描方向或数据存储顺序。大多数图像文件采用的扫描方向为自上而下(如PCX、GIF、TIF与JPEG文件),少数为自下而上(如BMP、TGA文件)。因此,在对读取图像数据进行显示或处理时,须按照文件类型进行相应调整。
(4)其他参数
压缩类型用于注明图像文件是否压缩、采用何种压缩等,供存数及取数程序确定是否需要压缩和解压缩。
综上所述,尽管计算机中存储的图像文件类型繁多,但不同类型的图像文件均可由图像中每像素所占位数和位平面数等图像类型参数来区分,如表1-1所示。图像文件按每像素所占总位数可分为4类,即黑白二值、16色彩色、256色彩色和24位真彩色。有些图像文件中用图像类型这个参数来区别黑白图像和彩色图像。表1-1中,pal表示该文件类型采用调色板,需要调色板数据;rgb表示彩色分量排列顺序为红、绿、蓝,bgr则相反,为蓝、绿、红;bw、wb则省略调色板,前者表示黑白图像中零值为黑色,高数值为白色,后者则相反,零值为白色,高数值为黑色;*表示该类图像支持的数据类型。

此外,16色彩色和真彩色图像可分为第一位平面结构与多位平面结构两类。单一位平面结构下,图像数据以像素为单位集中存放,与显示存储器中的存放形式相同。而图像文件中的多位平面存储结构与显示存储器中的有所不同,它是以行为单位存放的。在同一行中,图像数据以颜色分量为单位集中在一起,每个位平面相当于一行黑白图像,几个位平面的数据依次存放。

1.1.4 数字图像处理

数字图像处理即针对在空间上离散的、在幅值上量化分层的数字图像,采用一些特定数理模式进行加工处理,以达到有利于人眼视觉或某种接收系统所需要的图像的过程。一般,数字图像处理的方法主要包括:图像变换、图像增强、图像复原、图像压缩编码等。这部分处理也称做数字图像的预处理。其基本特点是输入和输出均为图像。在此基础上,可以进行图像分析、模式识别等内容研究。一般认为图像分析和模式识别是和图像预处理相对独立的另外两个部分,其基本特点是输入是图像,输出不是图像,而是对图像的分析和特征分类,或对图像的描述和解释。

时间: 2024-09-09 19:54:00

《Visual C++数字图像模式识别技术详解(第2版)》一1.1 数字图像处理概述的相关文章

《Visual C++数字图像模式识别技术详解(第2版)》一第1章 绪 论

第1章 绪 论 模式识别可以说是伴随人们生活的每一天.听到某个人说话,就能分辨出这个人是谁:当某种东西出现在视觉范围之内时,就能认出这个东西是什么,诸如此类.人们从来没有过多地关注自己所具备的识别能力,而认为是理所当然的.随着计算机技术的发展,人们希望利用计算机模仿人的识别能力,从而开始了模式识别技术的研究.模式识别过程中往往包含推理过程,这又需要有专家系统.知识工程等相关学科的支持.作为模式识别技术的一个重要分支,数字图像模式识别技术已在各行各业中得到广泛应用,并为提高有关技术的自动化.智能化

《Visual C++数字图像模式识别技术详解(第2版)》一第2章 Visual C++数字图像处理基础

第2章 Visual C++数字图像处理基础 作为微软公司推出的一款功能强大而复杂的编译器,Visual C++提供了完善的Windows应用程序编程框架.它可用于开发各种类型.不同规模和复杂程度的应用程序,开发效率高,生成的应用软件代码性能优良. 利用Visual C++编程语言进行数字图像处理,可以充分发挥Visual C++编程灵活.功能强大.代码效率高等特点,在快速进行各种数字图像处理基础上,有效实现基于数字图像的各种模式识别应用. [本章导读] 2.1 Visual C++编程方法 系

《Visual C++数字图像模式识别技术详解(第2版)》一2.2 Visual C++数字图像处理

2.2 Visual C++数字图像处理 本节将在2.1节基础上讲解如何用Visual C++进行数字图像处理应用程序的开发.重点介绍Windows下BMP图像文件格式,以及如何用Visual C++对该数字图像文件进行读取,为后续内容的讲解打下基础. 2.2.1 BMP图像文件 BMP位图文件格式是Windows系统交换图像数据的一种标准图像文件存储格式,在Windows环境下运行的所有图像处理软件都支持这种格式.Windows 3.0以前的BMP位图文件格式与显示设备有关,因此把它称为设备相

《Visual C++数字图像模式识别技术详解(第2版)》一1.2 模式识别基本概念

1.2 模式识别基本概念 模式识别是20世纪60年代迅速发展起来的一门前沿学科,在许多领域得到了广泛应用.本节简要介绍模式识别的基本概念和系统组成,以及模式识别在图像识别中的应用方法. 1.2.1 模式和模式识别的概念 模式识别的目的就是利用计算机模仿人的识别能力,它往往包含推理过程,需要专家系统.知识工程等相关学科的支持.当前的模式识别理论主要是对人的低级识别能力的模拟,即实现"观察对象是什么"的判断.模式是指具有某种特定性质的观察对象.特定性质是指可以用来区分观察对象是否相同或相似

《Visual C++数字图像模式识别技术详解(第2版)》一第3章 图 像 特 征

第3章 图 像 特 征 本书的第3到第8章介绍基本的数字图像预处理方法.从模式识别的技术角度来讲,这些图像预处理方法可以增强数字图像中的有用信息,有利于提高对图像所属模式进行识别的准确率.但数字图像中得到增强的有用信息往往不能直接应用,还需对这些信息进行选择或提炼,才能得到具体的图像特征并最终用于对该图像的模式进行识别.本章将介绍图像的统计特征.幅值特征.几何特征.形状特征.纹理特征等基本特征及其提取方法.[本章导读] 3.1 统计特征 数字图像灰值化后可以对其灰度分布进行统计分析,并得到均值.

《Visual C++数字图像模式识别技术详解(第2版)》一3.5 纹理特征

3.5 纹理特征 纹理特征是图像分析中的重要特征,因此成为模式识别中用来辨别图像区域的重要依据,它在图像的分类识别中得到了广泛的应用.纹理特征是一种不依赖于颜色或亮度的.反映图像中同质现象的重要特征,是所有物体表面共有的内在特性,包含了物体表面结构组织排列的重要信息以及与周围环境的联系.纹理的分析识别是图像理解.分析与识别中的重要研究内容之一. 如图3-5所示是几个典型物体的纹理图像,由图像可以看出,不同物体的纹理差别是很大的.可见,纹理可以作为一个重要特征用于描述不同物体. 3.5.1 纹理

《Visual C++数字图像模式识别技术详解(第2版)》一2.1 Visual C++编程方法

2.1 Visual C++编程方法 面向对象是一种重要的程序设计方法,采用这一思想的C++是当今世界上应用最广泛的编程语言.Windows平台下的C++编程工具首推Microsoft的Visual C++.但是,编写Windows应用程序只熟悉C++的语法还是远远不够的,还必须掌握MFC(Microsoft Foundation Class,微软基础类库). 面向对象的编程是当前程序设计中的热门话题,这里将介绍使用Visual C++进行面向对象编程时所用到的一些关键概念,这些概念是进一步学习

《Visual C++数字图像模式识别技术详解(第2版)》一2.3 实践知识拓展

2.3 实践知识拓展 由于图像处理算法很多,如图像特效显示.图像变换.图像平滑.图像增强.图像分割等.这些算法都是本章所设计的ImageDib类所无法实现的.解决的方法有两个,一个是在ImageDib类中直接添加成员函数来实现这些算法,但这势必导致ImageDib类变得冗长和效率低下:另一个办法就是利用Visual C++提供的派生类来实现这些算法. ImageDib类的派生类设计原则如下:让ImageDib类处理基本的图像处理功能.如图像读取.显示和存储.而将需要处理的算法定义为ImageDi

《Visual C++数字图像模式识别技术详解(第2版)》一3.4 形状特征

3.4 形状特征 物体的形状特征也是物体的一个重要模式特征,本节将介绍对物体形状的描述及其计算方法. 3.4.1 多边形描述 一个图像区域边界可以用多边形来近似表示.对于一个闭合的曲线,当多边形的边数与边界中顶点数相等时,边界中的每对点都定义了多边形中的一个边,在这种情况下,以上近似是精确的.在实际应用场合中,多边形近似的目的就是要用边数最少的多边形来近似地描绘出图像边界的形状.但要实现上述近似并非是一件简单的事情.例如,用简单的迭代搜索算法来实现上述方法时,计算量是相当大的.然而,在图像边界描