
| 数字图像处理技术从广义上可看作是各种图像加工技术的总称。它包括利用计算机和其他电子设备完成的一系列工作,如图像的采集、获取、编码、存储和传输,图像的合成和产生,图像的显示、绘制和输出,图像变化、增强、恢复和重建,特征的提取和测量,目标的检测、表达和描述,序列图像的校正,图像数据库的建立、索引、查询和抽取,图像的分类、表示和识别,3D景物的重建复原,图像模型的建立,图像知识的利用和匹配,图像和场景的解释和理解,以及基于它们的推理、判断、决策和行为规划等。Visual C++是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编译系统。 |
| 第1章 Visual C++数字图像编程基础 1 1.1 数字图像处理概述 1 1.2 图像和调色板 2 1.2.1 图像 2 1.2.2 调色板 3 1.2.3 色彩系统 3 1.2.4 灰度图 5 1.3 GDI位图 5 1.3.1 从资源中装入GDI位图 6 1.3.2 伸缩位图 8 1.4 与设备相关位图 9 1.5 设备无关位图(DIB) 14 1.5.1 BMP文件中DIB的结构 14 1.5.2 DIB访问函数 17 1.5.3 构造DIB类 21 1.5.4 使用DIB读写BMP文件示例 33 第2章 图像感知与获取 48 2.1 视觉基础 48 2.1.1 视觉系统 48 2.1.2 视觉模型 50 2.2 图像获取 52 2.3 图像采样 53 2.3.1 确定性图像场抽样 53 2.3.2 随机图像取样 55 2.4 量化 57 2.5 图像显示 61 2.5.1 图案法显示 61 2.5.2 图案法显示图像的Visual C++实现 63 2.5.3 随机抖动法显示图像 66 2.5.4 随机抖动法显示图像的Visual C++实现 67 第3章 图像的点运算 72 3.1 灰度直方图 72 3.1.1 灰度直方图的定义 72 3.1.2 编程绘制灰度直方图 73 3.2 灰度的线性变换 83 3.2.1 功能与效果 83 3.2.2 原理与算法 84 3.2.3 Visual C++编程实现 84 3.3 灰度的阈值变换 98 3.3.1 功能与效果 98 3.3.2 原理与算法 98 3.3.3 Visual C++编程实现 99 3.4 灰度的窗口变换 106 3.4.1 功能与效果 106 3.4.2 原理与算法 107 3.4.3 Visual C++编程实现 107 3.5 灰度拉伸 117 3.5.1 功能与效果 117 3.5.2 原理与算法 118 3.5.3 Visual C++编程实现 118 3.6 灰度均衡 131 3.6.1 功能与效果 131 3.6.2 原理与算法 131 3.6.3 Visual C++编程实现 132 第4章 图像的几何变换 136 4.1 图像的平移 136 4.1.1 功能与效果 136 4.1.2 原理与算法 137 4.1.3 Visual C++编程实现 139 4.2 图像的镜像变换 146 4.2.1 功能与效果 146 4.2.2 原理与算法 146 4.2.3 Visual C++编程实现 148 4.3 图像的转置 153 4.3.1 功能与效果 153 4.3.2 原理与算法 153 4.3.3 Visual C++编程实现 153 4.4 图像的缩放 157 4.4.1 功能与效果 157 4.4.2 原理与算法 157 4.4.3 Visual C++编程实现 158 4.5 图像的旋转 163 4.5.1 功能与效果 163 4.5.2 原理与算法 164 4.5.3 Visual C++编程实现 167 4.6 插值算法简介 173 4.6.1 最邻近插值 173 4.6.2 双线性插值 173 4.6.3 高阶插值 179 第5章 图像的正交变换 180 5.1 傅立叶变换 180 5.1.1 傅立叶变换的基本概念 180 5.1.2 傅立叶变换的性质 181 5.1.3 离散傅立叶变换 183 5.1.4 离散傅立叶变换的性质 184 5.1.5 快速傅立叶变换 189 5.1.6 Visual C++编程实现图像傅立叶变换 196 5.2 离散余弦变换 203 5.2.1 功能和效果 203 5.2.2 原理和算法 204 5.2.3 Visual C++编程实现图像离散余弦变换 207 5.3 沃尔什变换 214 5.3.1 沃尔什函数 214 5.3.2 沃尔什变换 216 5.3.3 离散沃尔什-哈达玛变换 217 5.3.4 快速沃尔什-哈达玛变换 217 5.3.5 Visual C++编程实现图像沃尔什-哈达玛变换 222 5.4 基于特征向量的变换 230 5.4.1 特征分析 230 5.4.2 主向量分析(PCA) 230 5.4.3 霍特林(Hotelling)变换 231 5.4.4 SVD变换 232 5.4.5 霍特林变换的Visual C++实现 234 5.5 小波变换 247 5.5.1 连续小波变换 248 5.5.2 离散小波变换 250 5.5.3 二进小波变换 251 5.5.4 小波变换的多分辨率分析 251 5.5.5 Mallat算法 252 5.5.6 小波变换的Visual C++实现 254 第6章 图像的增强 269 6.1 图像的灰度修正 270 6.2 模板操作 270 6.3 图像的平滑 274 6.3.1 功能与效果 274 6.3.2 原理与算法 274 6.3.3 Visual C++编程实现 274 6.4 中值滤波 285 6.4.1 功能与效果 285 6.4.2 原理与算法 285 6.4.3 Visual C++编程实现 286 6.5 图像的锐化 294 6.5.1 梯度锐化 294 6.5.2 拉普拉斯锐化 300 6.5.3 高通滤波器 303 6.6 伪彩色和假彩色增强 306 6.6.1 伪彩色和假彩色增强技术 306 6.6.2 Visual C++编程实现 307 第7章 数字图像腐蚀、膨胀和细化算法 315 7.1 数学形态学 315 7.1.1 什么是数学形态学 315 7.1.2 数学形态学中的基本符号和术语 315 7.2 图像腐蚀(Erosion) 317 7.2.1 功能与效果 317 7.2.2 原理与算法 318 7.2.3 Visual C++编程实现 321 7.3 图像膨胀(Dilation) 330 7.3.1 功能和效果 330 7.3.2 原理和算法 330 7.3.3 腐蚀和膨胀的代数性质 332 7.3.4 Visual C++编程实现 333 7.4 开(Open)运算和闭(Close)运算 341 7.4.1 功能和效果 341 7.4.2 原理和算法 343 7.4.3 开、闭运算的代数性质 345 7.4.4 Visual C++编程实现 346 7.5 数学形态学的其他运算 360 7.5.1 击中/击不中(Hit/Miss)变换 360 7.5.2 细化(Thinning) 362 7.5.3 Visual C++编程实现 363 第8章 图像边缘检测、提取及轮廓跟踪 370 8.1 边缘检测 370 8.1.1 功能与效果 370 8.1.2 原理和算法 373 8.1.3 Visual C++编程实现 375 8.2 Hough变换 398 8.2.1 功能与效果 398 8.2.2 原理和算法 399 8.2.3 Visual C++编程实现 400 8.3 轮廓提取与轮廓跟踪 406 8.3.1 功能与效果 406 8.3.2 原理和算法 407 8.3.3 Visual C++编程实现 408 8.4 种子填充 415 8.4.1 功能与效果 415 8.4.2 原理和算法 416 8.4.3 Visual C++编程实现 418 第9章 图像分割 429 9.1 图像分割研究 429 9.1.1 图像分割定义 429 9.1.2 图像分割的方法 430 9.2 并行边界分割 431 9.2.1 边界检测的数学基础 432 9.2.2 数字图像的边界检测 433 9.2.3 并行边界分割的Visual C++实现 434 9.3 串行边界分割 453 9.3.1 边界跟踪 454 9.3.2 边界跟踪的Visual C++实现 455 9.4 并行区域分割 460 9.4.1 阈值分割 460 9.4.2 自适应阈值选取 462 9.4.3 阈值分割的Visual C++实现 463 9.5 串行区域分割 471 9.5.1 区域生长 471 9.5.2 分裂合并 472 9.5.3 区域生长的Visual C++实现 472 9.6 Canny算子 477 9.6.1 Canny算子介绍 478 9.6.2 Canny算子的Visual C++实现 478 第10章 图像配准 498 10.1 图像配准理论基础 498 10.1.1 图像变换 498 10.1.2 相似性测度 499 10.1.3 插值 501 10.1.4 最小二乘法 501 10.2 图像配准中常用的技术 502 10.2.1 点映射 502 10.2.2 基于弹性模型的匹配 503 10.2.3 特征空间的选择 503 10.2.4 相似性测度的选择 504 10.2.5 搜索空间和策略的选择 504 10.3 Visual C++编程实现图像配准 504 第11章 图像复原 546 11.1 图像退化的数学模型 546 11.1.1 退化系统的基本定义 547 11.1.2 连续函数的退化模型 547 11.1.3 离散函数的退化模型 548 11.2 运动模糊图像复原 551 11.2.1 由匀速直线运动引起的图像模糊 551 11.2.2 运动模糊图像复原的Visual C++实现 553 11.3 非约束复原 564 11.3.1 非约束复原的基本方法 564 11.3.2 逆滤波复原 565 11.3.3 逆滤波复原的Visual C++实现 565 11.3.4 维纳滤波方法 576 11.3.5 维纳滤波的Visual C++实现 578 11.4 约束复原 589 第12章 图像压缩编码 590 12.1 图像压缩编码理论基础 590 12.2 图像编码分类 592 12.3 霍夫曼(Huffman)编码 593 12.3.1 霍夫曼编码理论及算法 593 12.3.2 霍夫曼编码的Visual C++实现 595 12.4 香农-费诺(Shannon-Fano)编码 606 12.4.1 香农-费诺编码的理论及算法 606 12.4.2 香农-费诺码的Visual C++实现 606 12.5 算术编码 618 12.5.1 算术编码的理论及算法 619 12.5.2 算术编码的Visual C++实现 621 12.6 游程编码(Run Length Coding) 630 12.6.1 基本原理 630 12.6.2 PCX文件格式及其编码方法 630 12.6.3 编程实现PCX文件格式的读写 632 12.7 位平面编码 632 12.7.1 位编码理论 632 12.7.2 位平面编码的Visual C++实现 634 12.8 预测编码 637 12.8.1 DPCM的基本原理 638 12.8.2 预测编码的类型 639 12.8.3 预测编码的Visual C++实现 639 12.9 JPEG 2000编码 654 12.9.1 JPEG 2000概述 654 12.9.2 JPEG 2000图像编解码系统 655 12.9.3 JPEG 2000图像压缩码流格式 659 |
商品评论(0条)