收藏 分享(赏)

VC++数字图像处理指导.pdf

上传人:HR专家 文档编号:6299428 上传时间:2019-04-05 格式:PDF 页数:622 大小:6.22MB
下载 相关 举报
VC++数字图像处理指导.pdf_第1页
第1页 / 共622页
VC++数字图像处理指导.pdf_第2页
第2页 / 共622页
VC++数字图像处理指导.pdf_第3页
第3页 / 共622页
VC++数字图像处理指导.pdf_第4页
第4页 / 共622页
VC++数字图像处理指导.pdf_第5页
第5页 / 共622页
点击查看更多>>
资源描述

1、数 字图像分析与处理技术 Visual C+数字图像获取、处理及实践应用 杨枝灵 王开 等编著 人民邮电出版社 Visual C+数 字图像获取、处理及实践应用 2 图 书在版编目( G1G2G3)数据 G4Visual C+数 字图像获取、处理及实践应用 / 杨枝灵,王开等编著 . 北京:人民邮电出版社, 2003.1ISBN 7G96115G9610957G965G20 VG85G20 G20 杨 G85王 G85G20 G20 C 语言程序设计 TP312G20中 国版本图书馆 CIP 数据核字( 2002)第 101890 号 G20G20G20内 容提要 本书全面系统地讨论了数字图像

2、处理的理论、设计及应用。全书由自成体系而又互有联系的 12 章组 成,分别讨论了位图及图像类的概念、图像获取、图像增强、图像复原、正交变换、压缩编码、图像配 准、运动检测 、 特征提取、图像分割及识别的相关知识,基本涵概了从图像获取到图像处理的各个领域 ,并结合 Microsoft 公司面向对象的可视化集成编程系统 VisualG20C+, 给出了相应的算法和完整的源代码 。 G20本 书在介绍了数字图像处理基础知识的同时,加入了该领域一些较新的研究成果,内容丰富新颖、实 用性强,适合希望运用 VisualG20C+进行数字图像处理的工作者阅读参考。 G20G20数字图像分析与处理技术Visu

3、al C+数字图像获取、处理及实践应用 G1G1 G1 编 G1 G1 G1 G1 著 G1 G1 杨枝灵 G1 G1 王开等 G1G1G1 G1 责任编辑 G1 G1 张立科 G1G1G1G1 G1 人民邮电出版社出版发行 G1 北京市崇文区夕照寺街 14 号 G1 G1 G1 G1 邮编 100061 电子函件 G1网址 http:/www. 读者热线 G1 G1 G2G3G2G4G5G6G3G7G2G7G6G5G1G1 G1 G1 G1 北京汉魂图文设计有限公司制作 G1G1 G1 G1 G1 北京隆昌伟业印刷有限公司印制 G1G1 G1 G1 G1 新华书店总店北京发行所经销 G1G

4、1 开本: 7871092 1/16 印张: 39 字数: 1216 千字 2002 年 12 月第 1 版 印数: 1 G96G206G20000 册 G20 2002 年 12 月北京第 1 次印刷 G20ISBN 7-115-10957-5/TP 3276 定价: 68.00 元(附光盘) 本书如有印装质量问题,请与本社联系 电话:( 010) 67129223 前 言 数字图像处理技术从广义上可看作是各种图像加工技术的总称。它包括利用计算机和其他电子设备完成的一系列工作,如图像采集、获取、编码、存储和传输,图像的合成和产生,图像的显示、绘制和输出,图像变换、增强、恢复和重建,特征的提取

5、和测量,目标的检测、表达和描述,序列图像的校正,图像数据库的建立、索引、查询和抽取,图像的分类、表示和识别, 3D 景物的重建复原,图像模型的建立,图像知识的利用和匹配,图像和场景的解释和理解,以及基于它们的推理、判断、决策和行为规划,等等。另外图像处理技术还包括为完成上述功能而进行的 硬件和系统的设计及制作等方面的技术。 数字图像处理是从 20 世纪 60 年代以来随着计算机技术和 VLSI 的发展而产生、发展和不断成熟起来的一个新兴技术领域,它在理论上和实际应用上都取得了巨大的成就, 并引起各方面人士的广泛重视。首先,视觉是人类最重要的感知手段,图像又是视觉的基础。因此数字图像成为心理学

6、、生物医学 、计算机科学等诸多方面的学者研究视觉感知的有效工具。其次,数字图像处理在军事、遥 感、工业图像处理 等大型应用中也有不断增长的需求。 Visual C+是 Microsoft 公司推出的开发 Win 32 环境程序, 面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、 OLE 2、 WinSock 网络、 3D 控制界面。由于 Visual C+本身就是一个图形的开发界面,它提供了丰富的关于位图操作的函数,对开发图像处理系统提供了极大的方便。因此,

7、它现在已经成为开发 Win32 程序,包括图像处理程序的主要开发工具。 全书基本涵概了从图像获取到处理的各个领域,由自成体系而又互有联系的 12 章组成。在介绍 数字图像处理基础知识的同时,加入了该领域一些较新的研究成果和应用,例如小波变换、 Canny 分割算子、JPEG 2000 图像编码等。书中对所介绍的图像处理算法都附有完整的 Visual C+源代码,并给出了相应的编程实例和处理效果,读者在学习过程中可以结合程序来加深理解,也可以将代码直接用于图像处理。本书由杨枝灵、王开等编著。此外参与编写工作的还有肖洪伟、李廷文、张增强、王洪涛、吴继刚、周学明、李闽溟、黄沙、宣小平、但正刚、张文毅

8、、张小磊、胡昱、范国平、陈晓鹏、王凯封、潘邦、王锐、闫卫东、赵明华、许福、施新 刚、 郑刚、李现勇、谭思量、邹超群、郭瑞军、宋文超、彭坷珂 张东胜、孙莉莉、刘灵波、刘兵、李英浩、张宏林等。在此,谨向他们的辛勤劳动表示衷心的感谢。 由于水平有限,加之时间仓促,书中难免有不妥之处。恳请读者批评指正,本书责任编辑的电子信箱为 ,欢迎联系讨论。 配套光盘使用说明 1运行环境 硬件环境:奔腾主频 200MHz,内存 32MB 以上。 软件环境: Windows 95/98/2000/NT/XP, Microsoft Vsiaul C+ 6.0。 2说明 为了方便读者学习,我们将书中所有的源代码以及用到的

9、图像都收录在本书的配套光盘中,相信一定会对大家的学习和应用有所帮助。 编者 目 录 第 1 章 位图基础知识 .1 1.1 引言 .1 1.2 数字图像的基本概念 2 1.3 颜色和调色板 4 1.3.1 颜色 .4 1.3.2 调色板的基本概念 .7 1.3.3 调色板的操作 .8 1.4 与设备相关位图 13 1.5 与设备无关的位图 18 1.5.1 DIB 位图的结构 .18 1.5.2 Win32 SDK DIB 位图操作函数 .21 1.5.3 自定义 DIB 位图函数 25 第 2 章 构造 CDib 类 31 2.1 CDib 类的总体设计 31 2.1.1 CDib 类的基本

10、功能 .31 2.1.2 CDib 类基本操作函数 32 2.2 基于 CDib 类的其他操作函数 68 第 3 章 图像感知与获取 .73 3.1 视觉基础 73 3.1.1 视觉系统 .73 3.1.2 视觉模型 .75 3.2 图像获取 77 3.3 图像采样 78 3.3.1 确定性图像场抽样 .78 3.3.2 随机图像取样 .80 3.4 量化 .82 3.5 图像显示 86 3.5.1 图案法显示 .86 3.5.2 图案法显示图像的 Visual C+实现 88 3.5.3 随机抖动法显示图像 .91 3.5.4 随机抖动法显示图像的 Visual C+实现 92 第 4 章

11、图像增强 .97 4.1 对比度增强 97 4.1.1 灰度变换法 .97 4.1.2 直方图修整法 .100 Visual C+数字图像获取、处理及实践应用 2 4.1.3 Visual C+编程实现 102 4.2 图像平滑 130 4.2.1 模板操作 .130 4.2.2 图像平滑技术 .134 4.2.3 Visual C+编程实现 137 4.3 图像锐化 173 4.3.1 微分方法 .174 4.3.2 高通滤波方法 .175 4.3.3 Visual C+编程实现 175 4.4 伪彩色和假彩色增强 192 4.4.1 伪彩色和假彩色增强技术 .192 4.4.2 Visua

12、l C+编程实现 192 第 5 章 图像复原 .201 5.1 图像退化的数学模型 201 5.1.1 退化系统的基本定义 .202 5.1.2 连续函数的退化模型 .202 5.1.3 离散函数的退化模型 .203 5.2 运动模糊图像复原 206 5.2.1 由匀速直线运动引起的图像模糊 206 5.2.2 运动模糊图像复原的 Visual C+实现 208 5.3 非约束复原 218 5.3.1 非约束复原的基本方法 .218 5.3.2 逆滤波复原 .219 5.3.3 逆滤波复原的 Visual C+实现 220 5.3.4 维纳滤波方法 .231 5.3.5 维纳滤波的 Visu

13、al C+实现 233 5.4 约束复原 244 第 6 章 图像处理中的正交变换 245 6.1 傅立叶变换 245 6.1.1 傅立叶级数 .245 6.1.2 连续变量的傅立叶变换及其性质 246 6.1.3 离散傅立叶变换及其性质 .249 6.1.4 快速傅立叶变换 .250 6.1.5 二维图像的快速傅立叶变换 .253 6.1.6 二维图像快速傅立叶变换的 Visual C+程序实现 .253 6.2 离散余弦变换( DCT) 272 6.2.1 离散余弦变换定义 .272 6.2.2 离散余弦变换的计算 .274 目 录 36.2.3 离散余弦变换的 Visual C+实现 2

14、75 6.3 沃尔什变换 282 6.3.1 沃尔什函数 .283 6.3.2 离散沃尔什变换 .288 6.3.3 快速沃尔什变换 .289 6.3.4 沃尔什哈达玛变换的 Visual C+实现 292 6.4 基于特征向量的变换 299 6.4.1 特征分析 .299 6.4.2 主向量分析( PCA) .299 6.4.3 霍特林( Hotelling)变换 300 6.4.4 SVD 变换 302 6.4.5 霍特林变换的 Visual C+实现 303 6.5 小波变换 316 6.5.1 连续小波变换 .317 6.5.2 离散小波变换 .319 6.5.3 二进小波变换 .32

15、0 6.5.4 小波变换的多分辨率分析 .320 6.5.5 Mallat 算法 .321 6.5.6 小波变换的 Visual C+实现 323 第 7 章 图像压缩编码 .338 7.1 图像压缩编码理论基础 338 7.2 图像编码分类 340 7.3 霍夫曼( Huffman)编码 341 7.3.1 霍夫曼编码理论及算法 .341 7.3.2 霍夫曼编码的 Visual C+实现 343 7.4 香农费诺( Shannon-Fano)编码 .353 7.4.1 香农费诺编码的理论及算法 .353 7.4.2 香农费诺码的 Visual C+实现 354 7.5 算术编码 366 7.

16、5.1 算术编码的理论及算法 .367 7.5.2 算术编码的 Visual C+实现 369 7.6 游程编码( Run Length Coding) .377 7.6.1 基本原理 .377 7.6.2 PCX 文件格式及其编码方法 .378 7.6.3 编程实现 PCX 文件格式的读写 380 7.7 位平面编码 380 7.7.1 位编码理论 .380 7.7.2 位平面编码的 Visual C+实现 382 7.8 预测编码 385 Visual C+数字图像获取、处理及实践应用 4 7.8.1 DPCM 的基本原理 .385 7.8.2 预测编码的类型 .386 7.8.3 预测编

17、码的 Visual C+实现 387 7.9 JPEG 2000 编码 .401 7.9.1 JPEG 2000 概述 402 7.9.2 JPEG 2000 图像编解码系统 403 7.9.3 JPEG 2000 图像压缩码流格式 407 第 8 章 图像配准 .409 8.1 图像配准理论基础 409 8.1.1 图像变换 .409 8.1.2 相似性测度 .410 8.1.3 插值 .412 8.1.4 最小二乘法 .412 8.2 图像配准中常用的技术 413 8.2.1 点映射 .413 8.2.2 基于弹性模型的匹配 .414 8.2.3 特征空间的选择 .414 8.2.4 相似

18、性测度的选择 .414 8.2.5 搜索空间和策略的选择 .415 8.3 Visual C+编程实现图像配准 415 第 9 章 目标检测与运动检测 .457 9.1 静止背景下的运动目标检测 457 9.1.1 背景恢复 .458 9.1.2 基于静止背景的运动目标提取 .458 9.2 运动背景下的运动目标检测 459 9.2.1 光流方法 .459 9.2.2 全局运动预测 .460 9.2.3 基于块的运动检测方法 .461 9.3 Visual C+编程实现 .463 第 10 章 图像形状特征分析 .475 10.1 图像的矩 475 10.1.1 矩的定义 .475 10.1.

19、2 Visual C+编程求图像的矩 .476 10.2 图像的空穴检出 481 10.2.1 定义及算法 .481 10.2.2 空穴检出的 Visual C+实现 481 10.3 图像的骨架检出 489 10.3.1 图像的市街区距离 .489 目 录 510.3.2 图像骨架提取的 Visual C+实现 489 10.4 轮廓提取 499 10.4.1 基本概念 .499 10.4.2 Visual C+实现 499 第 11 章 图像分割 .504 11.1 图像分割研究 504 11.1.1 图像分割定义 .504 11.1.2 图像分割的方法 .505 11.2 并行边界分割

20、506 11.2.1 边界检测的数学基础 .507 11.2.2 数字图像的边界检测 .508 11.2.3 并行边界分割的 Visual C+实现 509 11.3 串行边界分割 528 11.3.1 边界跟踪 .529 11.3.2 边界跟踪的 Visual C+实现 530 11.4 并行区域分割 535 11.4.1 阈值分割 .535 11.4.2 自适应阈值选取 .537 11.4.3 阈值分割的 Visual C+实现 538 11.5 串行区域分割 546 11.5.1 区域生长 .546 11.5.2 分裂合并 .548 11.5.3 区域生长的 Visual C+实现 54

21、8 11.6 Canny 算子 553 11.6.1 Canny 算子介绍 553 11.6.2 Canny 算子的 Visual C+实现 553 第 12 章 图像的模式识别 .573 12.1 图像匹配 573 12.1.1 模板匹配 .574 12.1.2 其他快速匹配方法 .577 12.2 统计模式识别 582 12.2.1 决策理论方法 .582 12.2.2 统计分类法 .587 12.2.3 特征的提取和选择 .591 12.3 线性分类器 592 12.3.1 Fisher 判别准则 592 12.4 Visual C+编程实现 .595 第第1 章章位位图图基基础础知知识

22、识人类通过眼、耳、鼻、舌、身接受信息,感知世界,并进而认识世界和改造世界。据统计,约有 70%的信息是通过视觉系统获取的。粗略地说,图像是二维或三维景物呈现在人心目中的影像。如果接受并加工这种视觉信息的是电子计算机,则我们称之为计算机图像处理和识别。 近年来,由于计算机技术的迅猛发展,计算机的速度越来越快,图像处理系统的价格日益下降,从而使图像处理得以广泛 应 用于众多的科学与工程领域,如遥感、工业检测、医学、气象、侦察、通信、智能机器人等。 这些技术正在明显地改变着人们的生产手段和生活方式 。传统的生产、管理、教育等,正向信息化、多样化转变。 正因为图像有着如此多的应用,如此与我们的工作和生

23、活方式息息相关,所以 有必要对图像和图像技术进行深入细致的研究。在 Windows 环境中最重要的图像就是位图。在计算机处理中,位图的概念可以和图像等同 。后面的叙述中,经常用到图像和位图,如不加特殊说明,可以认为它们是相同的。 本章先讨论 数字图像的基本概念以及 VC 中有关位图的知识。 本章的内容安排是:在引言中,介绍图像处理技术的基本类别,然后介绍 数字图像的基本概念,色度系统和调色板的概念将在 1.3 节中叙述, 1.4 节和 1.5 节介绍 VC 中的 DDB(设备相关位图)和 DIB(设备无关位图) 。 1.1 引言 人们用各种技术方式和手段对图像进行加工以获得重要信息。图像技术从

24、广义上可看作是 各种图像加工技术的总称,它包括利用计算机和其他电子设备进行和完成的一系列工作,例如图像采集、获取、编码、存储和传输,图像的合成和产生,图像的显示、绘制和输出,图像变换、增强、恢复和重建,特征的提取和测量,目标的检测、表达和描述,序列图像的校正,图像数据库的 建立 、索引、查询和抽取,图像的分类、表示和 识别, 3D 景物的重建复原,图像模型的建立 ,图像知识的利用和匹配,图像和场景的解释和理解,以及基于它们的推理、判断、决策和行为规划,等等。另外图像技术还包括为完成上述功能而进行的硬件和系统设计及制作等方面的技术。 本书所涉及到的图像处理技术主要包括以下的内容。图像增强:图像增

25、强是用以改善供人观看的图像的主观质量,而不一定追究图像降质的原因。直方图修正,强化图像轮廓等都是常用手段。由于接受者是人, 所以 质量好坏就受观看者的心理、爱好、文化素质等因素的影响,评判只能是相对的。 图像复 原(也叫图像恢复):图像恢复则需要找出图像降质的起因,并尽可能消除它,使图像恢复本来面目。常用的恢复有纠正几何失真、从已知图像 信号和噪声的统计特性入手,用 Wiener 滤波等方法来改善信噪比。 图像变换:图像处理的方法可以分为两大类:空域法和频域法。其中频域法也称为变换域法。在频域法中最为关键的预处理就是图像变换。这种变换一般是线性变换,其基本线性运算是严格可逆的,并且满足一定的正

26、交条件,因此,也将其称为酉变换。常用的图像变换有傅立叶变换、 DCT 变换,小波变换等。 图像编码:二维形式呈现的数字图像,其信息量 很大,给传输、处理、存储、显示等都带来了不少问题。另一方面,图像中又有很大冗余信息,根据 香农( Shannon) 的率失真理论。不论在传输或存储时,都可对数字图像进行一定方式编码,删除其中 冗余 信息,实现不失真压缩,或在容许失真限度内的进行有失真压缩,以换取更大的压缩率。对于供人观看的图像,如电视信号,这时人是通信系统中的一环,Visual C+数字图像获取、处理及实践应用 2 人 的视觉特性,如掩盖效应,对灰度分辨率和空间分辨率的有限性等,也可以用来为压缩

27、服务。 图像配准:图像配准可以近似地看成匹配的过程。简单地说就是根据图像的某些区域或者特征 , 在另 一幅图像 中 找到对应的区域或者特征。图像配准在图像识别、图像拼接、三维图像 的 重建等方面有着重 要的应用。 图像分析和特征提取 : 图像分析(或称为图像理解)可看作是一个描述过程,主要研究用自动或半自 动装置和系统,从图像中提取有用的测度、数据或信息,生成非图像的描述或者表示,这是当前图像处 理与识别领域中一个最为活跃的分支。图像分析并不仅仅是给景物中的诸区域在一定数目的已知类别中 进行分类,还要对千变万化和难以预测的复杂景物加以描述。图像分析常常依靠某种知识来说明景物中 物体与物体、物体

28、与背景之间的关系。利用人工智能技术在分析系统中 进 行各层次控制和有效地访问知 识库正在被越来越普遍地采用。图像分析的内容分为特征提取、符号描述、目标检测、景物匹配和识别 等几个部分。图像 特 征是指图像 场 中可用作标志的属性,其中有些是视觉直接感受到的自然特征,如区 域的亮度、彩色、纹理或轮廓等等,有些 是 需要通过变换或测量才可 得 到的人为特征,如各种变换频谱 、直方图、矩等。 图 像特征提取就是从图像中提取出某些可能涉及到高层语义信息的图像 特 征,以进行 后续的分析。 目标和运动检测:目标检测是运动 分 析领域的一项重要研究内容。在监控系统、控制系统、仿真系统 以及 识 别系统中,

29、目标检测都扮演着重要的角色。目标检测按照有无人的参与 可 以分成两类:第一是自 动目标 检 测,这种检测方式在实现的过程中不需要加入额外的信息;第二是交互目标检测, 这 种检测方 式在实现过程中需要加入一些交互信息,从而实现更为精确的目标提取。 图 像分割:人能方便地从一幅图像中找出感兴趣的物体或区域,而要让计算机做到这一点却需要给它 以客观测度,使之按照灰度、颜色或几何性质等把一些物体或区域加以分离,这称之为图像分割。 形 状描述:对于已经分离出来的区域或物体边界,用适当的 数 学语言(如图论、句法、形态学等)来 表示其统计或者区域之间的关系,得出一种简练的表达方式,这叫做描述。如果我们只对

30、物体的形状感 兴趣,并对形状进行描述,则为形状描述。 图 像识别:视觉识别是人和动物的眼脑系统固有的功能,它是在长期的进化中形成的。人的知识、生 活经验使其在头脑中建立起 为 数巨大的物体模型和常识供识别使 用 。但指望计算机能代替人类完成各种 复杂工作和识别景物,就必须赋予它有近于人的视觉功能和 识 别 能 力。由于对人的视觉机理至今研究得 仍 然不够,完善的视觉模型尚未建立,因而,目前用图像处理和识别技术能识别的景物是相对 简 单的。模 板匹配、统计识别等是一些常用的识别方法。 数字图像处理的应用越来越广,数字图像处理包含的内容也越来越多。当然,数字图像 处 理包含的内 容远远不止上述这些

31、 , 但由于篇幅有限,就不在本书中进行讨论了。读者可以从其他的数字图像 处 理书 中获取相关的知识。 Visual C+是 Microsoft 公司推出的开发 Win 32 环 境程序,是面向对象的可视化集成编程系统。它不 但具有程序框架自动生成 、 灵活方便的类管理、代码编写和界面设计集成交互操作、 可 开发多种程序( 应用程序、动态链接库、 ActiveX 控件等)等优 点 ,而且通过简单的设置就可使其生成的程序框架支持数 据库接口、 OLE 2、 WinSock 网络、 3D 控制界面。由于 Visual C+本 身就是一个图形的开发界面,它提 供了丰富的关于位图操作的函数,为开发图像处

32、理系统提供了极大的方便 。 因此,它现在已经成为开发 Win32 程序,包括图像处理程序的主要开发工具。本书不对 Visual C+进 行全面的介绍,只对其中与数 字图像处理相关的内容进行说明。为此,假设本书的读者都具有一定的 Visual C+基 础。在本书后续的 章节中,结合 Visual C+的开发环境,对图像处理技术进行详细叙述,并给出编程实例。 1.2 数 字图像的基本概念 人 眼看到的任何自然界的图像都是连续的模拟图像,其形状和形态表现由图像各位置的颜色决定。第 1 章 位图基础知识 3当我们从某一点观察景物时,物体所发出的光线进入人眼,在人眼的视网膜上成象 ,该像 反映了客观景物

33、的亮度和颜色随空间位置的变化,因此它是空间坐标的函数。所谓图像,就是视觉景物的某种形成的表示和记录。我们都熟悉彩色或黑白照片。黑白(或称单色)照片记录了景物中每点的亮度,而彩色照片不仅 记录亮度还记 录颜色。在传统的摄影技术中,记录的机制是化学反应,它取决于落在胶片上的光线和胶片本 身的化学特性。随着科学技术的发展,人类不仅能够获得并记录那些人眼可见的 图像信息,而且 可以利用非可见光和其他手段成像,并转换成人眼可见的图像,如 X 射线成像,红外成像,超声成像等,这就使人的视觉能力大 大地增强和延伸。 一幅平面图像所包含的信息首先表现为光的强度( Intensity),它是随空间坐标( x,

34、y),光线的波长u 和时间 t 而变化的,因此图像函数可以表示为 ),( tuyxfI = 若只考虑光的能量而不考虑它的波长,在视觉效果上只有黑白深浅之分,而无彩色变化,这时称为黑白图像(灰度图像),则图像模型可表示为 0( , , ) ( , , , ) ( )dI f x y t f x y u t V u u= =其中 V(u)为相对视敏函数。 当考虑不同波长光的彩色效应,则为彩色图像。根据三基色的原理,任何一种彩色可分解为红、绿、蓝 三种基色,所以彩色图像可表示为 ),(),(),( tyxBtyxGtyxRI = 其中 : 0( , , ) ( , , , ) ( )dR x y t

35、 f x y u t R u u=0( , , ) ( , , , ) ( )dG x y t f x y u t G u u=0( , , ) ( , , , ) ( )dB x y t f x y u t B u u=其中 R(u)、 G(u), B(u)分别为 R、 G、 B 三基色的视敏函数。 当图像内容随时间变化时,称为时变图像或运动图像。 当图像内容不随时间变化时,称为静止图像。对灰度图像而言,其函数为 ),( yxfI = 作为数字图像处理的基础,本书中的很多算法就主要针对灰度静止图像 ),( yxf 进行讨论的。 由于人眼和其他成像系统视野有限,因此图像在空间上是有界的,其取值

36、区域通常定义为矩形,即Mx 0 My 0 图像函数在某一点的值常称为强度或灰度,它与图像在该点的亮度相对应,并用正实数表示,而且这个数值的大小是有限的,即 Byxf ),(0 其中 B 表示最大亮度。 由于计算机仅能处理离散的数据,所以如要用计算机 来处理图像,则连续的图像函数必须转换为离散的数据集,这一过程叫做 数字图像采集。数字 图像采集由图像采集系统完成,经过成像、采样和量化Visual C+数字图像获取、处理及实践应用 4 得 到数字图像。其中,采样是对空间坐标的量化过程,量化则是对图像函数值的离散化过程。采样和量化 统称为数字化。关于图像采集系统的详细内容,将在第 3 章 中进行详细

37、叙述。数字化后的图像一般都用 二维矩阵进行表示。图 1-1 中一幅普通的黑白位图,图 1-2 是 被放大后的图,图中每个方格代表了一个 像素,我们可以看到:整个圆就是由这样一些黑点和白点组成的。 图 1-1 圆 图 1-2 放大后的圆位图 1.3 颜色和调色板 1.3.1 颜色 根据人眼结构,所有颜色都可看作是 3 个基本颜色红( R, red),绿( G, green)和蓝( B, blue) 的不同组合。 区分颜色常用 3 种基本特性量:亮度、 色调和饱和度。色调和饱和度合起来称为色度。颜色可用亮度和色度共同表示。 当把红、绿、蓝三色光混合时,通过改变三者各自的强度比例可得到白色以及其 他

38、各种色调和饱和度的彩色。 C rR + gG + bB 其中 C 代表某一特定色, 表示匹配, R, G, B 表示三原色, r, g, b 代表比例系数,且有 r + g + b = 1 1931 年 CIE 制定了色度图(见图 1-3),用组成某种颜色的三原色的比例来规定这种颜色。 1.0 0.6 0.4 0.2 0.4 0.6 0.8 1.0 0.0 0.8 0.2 520 540 510 550 560 570 580 590 600 530 700770620 500 490 480 470 460 绿 黄 红 蓝 紫 400 图 1-3 色度图示意 第 1 章 位图基础知识 51

39、种颜色可用 3 个基本量来描述,所以建立颜色模型就是建立 1 个 3-D 坐标系统,其中每个空间点都代表某 1 种颜色。 目前常用的颜色模型可分两类。 1. RGB 模型 这个模型基于笛卡尔坐标系统, 3 个轴分别为 R、 G、 B,如图 1-4 所示。 RGB(0,1,0)(1,0,0)bmc黑yr白g(0,0,1)图 1-4 RGB 模型 2. HSI 模型 这个模型基于两个重要的事实:其一, I 分量与图像的彩色信息无关;其二, H 和 S 分量与人感受颜色的方式是紧密相连的。 HSI 模型中的各分量可定义在如图 1-5( a)所示的双棱锥中,其中每个横截面如图 1-5(b)所示。对其中

40、的任一个色点 P,其 H 的值对应指向该点的矢量与 R 轴的夹角。这个点的 S 与指向该点的矢量长成正比,越长越饱和。 H黑BR GI白BHGRPYMC(b)(a)P图 1-5 HSL 模型 3. 颜色模型转换 对任何 3 个在 0, 1范围内的 R、 G、 B 值,其对应 HSI 模型中的 I、 S、 H 分量可分别由下面给出的公式计算: Visual C+数字图像获取、处理及实践应用 6 ( )BGRI +=31 ),min()(31 BGRBGRS+-= ( ) ( ) ( ) ( )( ) -+-+-=21 22 arccosBGBRGRBRGRH 若设 S, I 的值在 0, 1之间

41、, R, G, B 的值也在 0, 1之间,则从 HSI 到 RGB 的转换公式为(分成3 段以利用对称性): (1) 当 H 在 0GB0,G20120GB0之间: G20)1( SIB -= -+=)60cos(cos1 HHSIRG1)(3 RBIG +-= (2)G20 当 H 在 120GB0,G20240GB0之间: G20)1( SIR -= -+=)180cos()120cos(1 HHSIGG1G1)(3 GRIB +-= (3)G20 当 H 在 240GB0,G20360GB0之间: G20)1( SIG -= -+=)300cos()240cos(1 HHSIBG1G1

42、)(3 BGIR +-= 图 1-6 给出一组用灰度图形式表示彩色图像的例子,其中图 1-6(a)、图 1-6(b)、图 1-6(c)分别为 1 幅彩色图像的 R, G, B 分量(每个分量用 8 bit 表示),图 1-6(d)、图 1-6(e)、图 1-6(f )分别为这幅彩色图像的 H、 S、 I 分量(每个分量也各用 8 bit 表示)。 G20G20 G20 G20 G20 G20(a) (b) (c) 第 1 章 位图基础知识 7(d) (e) (f) 图 1-6 彩色图像的 RGB 和 HSL 各分量图示 1.3.2 调色板的基本概念 现实世界的颜色种类是无限的,但计算机显示系统

43、 所能表现的颜色数量有限,因此,为了使计算机能最好地重现实际图景,就必须用一定的技术来管理和取舍颜色。 Windows 提供了一个独立于硬件的颜色接口。程序提供了一个“绝对的”颜色码, Windows 把这个代码映射成计算机显示器上适当的颜色或颜色组合。对于一些常见的显示卡,大多数 Windows 程序都会优化应用程序的颜色显示。在计算机中,常用的显示卡有: 标准视频图形阵列显示卡( VGA):标准视频图形阵列( VGA)显示卡使用 18 位的颜色寄存器,因此有一个 262 144 种颜色的调色板。然而,由于显存的限制,标准 VGA 卡采用 4 色代码,这意味着,它一次只能显示 16 种颜色。

44、因为 Windows 对标题、边框、滚动条等需要固定的颜色,程序就可以只使用16 种“标准”的纯色。但并不能方便地使用显示卡显示的其他颜色。 每一种 Windows 颜色由 8 位的红、绿、蓝值的组合来表示。 16 种标准 VGA“纯”(非抖动)颜色如表 1-1 所示。 256 色显示卡:大多数显示卡可以在所有空间分辨率下支持 8 位颜色码,这意味着,它们可以 同时显示 256 色。 256 色方式现在被认为是颜色编程中的最低要求。 表 G1G2G1G3 标准 G4G5G6 的 G1G7 种“纯”颜色 G3红 绿 蓝 颜色 0 0 0 黑色 0 0 255 蓝色 0 255 0 绿色 0 25

45、5 255 青色 255 0 0 红色 255 0 255 洋红色 255 255 0 黄色 255 255 255 白色 0 0 128 暗蓝色 0 128 0 暗绿色 0 128 128 暗青色 128 0 0 暗洋红色 128 128 0 暗黄色 128 128 128 暗灰色 192 192 192 亮灰色 如果 Windows 配置的是 256 色显示卡,则用户的程序限制在 20 种标准纯色内,除非激活 Windows的调色板系统,该系统由 MFC 库的 CPalette 类和 Windows 应用程序编程接口支持。此时,可以从 1670多万种颜色中选定自己的 256 种颜色。 安装

46、了 SVGA(Super VGA)256 色显示驱动程序之后,可以获得的颜色比表 1-1 所列出的 16 种 VGAVisual C+数字图像获取、处理及实践应用 8 颜 色多 4 个,总共 20 个。表 1-2 列出了增加的 4 种颜色。 表 G1G2G8G3 G3 G3 G9G4G5G6 中增加的 GA 种颜色 G3红 绿 蓝 颜色 192 220 192 浅绿色 166 202 240 天蓝色 255 251 240 乳白色 160 160 1641 中灰色 16 位颜色显示卡:现代大多数的显示卡支持 1024 768 像素的分辨率,并且,如果有 1MB 显存,便可以支持 8 位颜色。如

47、果显示卡有 2MB 显存,它就可以支持 16 位颜色,其中红、绿、蓝分别用 5 位表示。这意味着,可以同时显示 32 768 种颜色。这似乎很多,但对于红、绿、蓝每一种纯色,都只有32 种渐变。 24 位颜色显示卡:高级的显示卡支持 24 位颜色。 24 位容量可以显示一 1670 多万种纯色,这 就是我们常说的 24 位真彩色,红、绿、蓝三原色分别用 8 位来表示。如果正在使用 24 位显示卡,就可以直接使用所有的颜色。 如果 1024 768 像素分辨率下需要 24 位颜色,则需要 2.5MB 的显存。 在 Windows 中,采用了这种方法来表现颜色,其 SDK 提供了一个名为 RGB

48、的宏将不同的 RGB 颜色值转化为 24 位的颜色值,其原型为: COLORREF RGB(BYTE bred, BYTE bGreen, BYTE bBlue) COLORREF 是表示颜色值的数据类型,是一个 32 位的无符号长整型。 bRed, bGreen, bBlue 分别表示红、绿、蓝三原色的浓度,其类型 为 BYTE,长度为 8。其 16 进制数据表示形式为 0x00bbggrr,其中字节 rr、 gg、 bb 分别表示红、绿、蓝三原色的浓度,最高位字节为 0,用于保留与将来的系统兼容。在真彩色系统中,每一个像素都用 24 位来表示,像素值与真彩色颜色值可以一一对应,所以像素值就

49、是所表现的颜色值。但对于仅能同时显示 16 色或 256 色的系统,每一个像素仅能分别采用 4 位或者 8位来表示,像素值和真彩色颜色值不能一一对应,用像素值代表颜色值的方法将不能得到最佳的效果,而必须采 用调色板技术。所谓调色板就是在 16 色或者 256 色显示系统中,将图像中出现最频繁的 16 或256 种颜色所组成的颜色表。对这些颜色按 4 位或者 8 位,即 0 到 15 或者 255 进行编号,每一编号代表其中的一种颜色。这种颜色编号叫做颜色的索引号, 4 位或者 8 位的索引号与 24 位的颜色值的对应表叫做颜色查找表。使用调色板的图像叫做调色板图像,它们的像素值并不是颜色值,而是

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报