关注微信

推荐商品

    加载中... 正在为您读取数据...
分享到:
  • 数字图像处理与机器视觉:VisualC++与Matlab实现(附CD-ROM光盘1张)[平装]
  • 共3个商家     47.80元~62.10
  • 作者:张铮(作者),王艳平(作者),薛桂香(作者),白刚(合著者),顾泽苍(合著者),童欣(合著者),等(合著者)
  • 出版社:人民邮电出版社;第1版(2010年4月1日)
  • 出版时间:
  • 版次 :
  • 印刷时间:
  • 包装:
  • ISBN:9787115220233

  • 商家报价
  • 简介
  • 评价
  • 加载中... 正在为您读取数据...
  • 商品描述

    编辑推荐

    《数字图像处理与机器视觉:Visual C++与Matlab实现》:
    各种标准图像处理算法(Matlab/Visual C++)
    汽车牌照的投影失真校正(Matlab/Visual C++)
    顶帽变换(Matlab/Visual C++)
    主成份分析(Matlab)
    LBP特征提取(Matlab)
    基于人工神经网络的数字识别系统(visual C++)
    基于支持向量机的人脸识别系统(Matlab)
    为想要了解数字图像处理与机器视觉领域的读者提供了一条扎实的进阶之路,从基本的图像处理算法,到投影校正、顶帽变换等高级应用,再到特征提取、分类器设计,以及像光学字符识别、人脸识别等综合案例,一步步地引导读者从阅读中获得知识,于实践中升华感悟。Matoab与Visusl C++两种语言描述的无缝连接,体现出科学研究和工程实践在图像处理与机器视觉领域的完美结合。
    从实践所需的理论,理论指导的实践以及理论与实践的结合3个层次展开每一部分内容,做到有的放矢。理论翔实,拒绝知识断层,同时又不偏执于理论本身,理论知识以说明实际问题为目的,定量解释与定性描述恰当融合。应用案例丰富,不仅给出详尽的实现代码,更揭示出背后的设计思想,注重思维历练,让您知其然,更知其所以然。内容具有一定深度,这不是一本在2个月后就会失去价值的应用程序参考,相反她让你每次欣赏时都能得到新的享受。Matlab与VisualC++两种语言描述的无缝连接,体现出科学研究和工程实践在图像处理与机器视觉领域的完美结合。

    目录

    第0章 数字图像处理概述 1
    0.1 数字图像 1
    0.1.1 什么是数字图像 1
    0.1.2 数字图像的显示 1
    0.1.3 数字图像的分类 2
    0.1.4 数字图像的实质 3
    0.1.5 数字图像的表示 4
    0.1.6 图像的空间和灰度级分辨率 5
    0.2 数字图像处理与识别 6
    0.2.1 从图像处理到图像识别 6
    0.2.2 什么是机器视觉 8
    0.2.3 数字图像处理和识别的应用实例 8
    0.3 数字图像处理的预备知识 8
    0.3.1 邻接性、连通性、区域和边界 8
    0.3.2 距离度量的几种方法 10
    0.3.3 基本的图像操作 10

    第1章 MATLAB图像处理编程基础 12
    1.1 Matlab操作简介 12
    1.1.1 Matlab软件环境 12
    1.1.2 文件操作 13
    1.1.3 在线帮助的使用 14
    1.1.4 变量的使用 16
    1.1.5 矩阵的使用 18
    1.1.6 细胞数组(Cell Array)和结构体(Structure) 21
    1.1.7 关系运算与逻辑运算 22
    1.1.8 常用图像处理数学函数 22
    1.1.9 Matlab程序流程控制 23
    1.1.10 M文件编写 27
    1.1.11 Matlab函数编写 28
    1.2 Matlab图像类型及其存储方式 29
    1.3 Matlab的图像转换 33
    1.4 读取和写入图像文件 35
    1.5 图像的显示 37

    第2章 Visual C++图像处理编程基础 39
    2.1 位图文件及其C++操作 39
    2.1.1 设备无关位图 39
    2.1.2 BMP图像文件数据结构 39
    2.2 认识CImg类 42
    2.2.1 主要成员函数列表 42
    2.2.2 公有成员 43
    2.3 CImg类基础操作 44
    2.3.1 加载和写入图像 44
    2.3.2 获得图像基本信息 47
    2.3.3 检验有效性 48
    2.3.4 按像素操作 49
    2.3.5 改变图像大小 50
    2.3.6 重载的运算符 51
    2.3.7 在屏幕上绘制位图图像 51
    2.3.8 新建图像 52
    2.3.9 图像类型的判断与转化 54
    2.4 DIPDemo工程 55
    2.4.1 DIPDemo主界面 55
    2.4.2 图像操作和处理类——CImg和CImgProcess 56
    2.4.3 文档类——CDIPDemoDoc 57
    2.4.4 视图类——CDIPDemoView 58
    2.5 CImg应用示例 58
    2.5.1 打开图像 58
    2.5.2 清空图像 60
    2.5.3 像素初始化方法 61
    2.5.4 保存图像 61

    第3章 图像的点运算 63
    3.1 灰度直方图 63
    3.1.1 理论基础 63
    3.1.2 Matlab实现 64
    3.1.3 Visual C++实现 67
    3.2 灰度的线性变换 69
    3.2.1 理论基础 69
    3.2.2 Matlab实现 70
    3.2.3 Visual C++实现 72
    3.3 灰度对数变换 73
    3.3.1 理论基础 74
    3.3.2 Matlab实现 74
    3.3.3 Visual C++实现 75
    3.4 伽玛变换 76
    3.4.1 理论基础 76
    3.4.2 Matlab实现 77
    3.4.3 Visual C++实现 79
    3.5 灰度阈值变换 80
    3.5.1 理论基础 80
    3.5.2 Matlab实现 81
    3.5.3 Visual C++实现 82
    3.6 分段线性变换 83
    3.6.1 理论基础 83
    3.6.2 Matlab实现 84
    3.6.3 Visual C++实现 88
    3.7 直方图均衡化 90
    3.7.1 理论基础 90
    3.7.2 Matlab实现 91
    3.7.3 Visual C++实现 93
    3.8 直方图规定化(匹配) 94
    3.8.1 理论基础 95
    3.8.2 Matlab实现 95
    3.8.3 Visual C++实现 97

    第4章 图像的几何变换 101
    4.1 解决几何变换的一般思路 101
    4.2 图像平移 103
    4.2.1 图像平移的变换公式 103
    4.2.2 图像平移的实现 104
    4.3 图像镜像 106
    4.3.1 图像镜像的变换公式 106
    4.3.2 图像镜像的实现 106
    4.4 图像转置 109
    4.4.1 图像转置的变换公式 110
    4.4.2 图像转置的实现 110
    4.5 图像缩放 111
    4.5.1 图像缩放的变换公式 112
    4.5.2 图像缩放的实现 112
    4.6 图像旋转 114
    4.6.1 以原点为中心的图像旋转 114
    4.6.2 以任意点为中心的图像旋转 115
    4.6.3 图像旋转的实现 116
    4.7 插值算法 118
    4.7.1 最近邻插值 118
    4.7.2 双线性插值及其Visual C++实现 119
    4.7.3 高阶插值 121
    4.8 图像配准 124
    4.8.1 什么是图像配准 124
    4.8.2 人脸图像配准的Matlab实现 124
    4.9 Visual C++实用案例——汽车牌照的投影失真校正 128
    4.9.1 系统分析与设计 129
    4.9.2 系统实现 130
    4.9.3 功能测试 136

    第5章 空间域图像增强 140
    5.1 图像增强基础 140
    5.1.1 为什么要进行图像增强 140
    5.1.2 图像增强的分类 140
    5.2 空间域滤波 141
    5.2.1 空间域滤波和邻域处理 141
    5.2.2 边界处理 142
    5.2.3 相关和卷积 143
    5.2.4 滤波操作的Matlab实现 143
    5.2.5 滤波操作的Visual C++实现 146
    5.3 图像平滑 148
    5.3.1 平均模板及其实现 148
    5.3.2 高斯平滑及其实现 151
    5.3.3 通用平滑滤波的Visual C++实现 154
    5.3.4 自适应平滑滤波 156
    5.4 中值滤波 156
    5.4.1 性能比较 156
    5.4.2 一种改进的中值滤波策略 161
    5.4.3 中值滤波的工作原理 162
    5.5 图像锐化 162
    5.5.1 理论基础 162
    5.5.2 基于一阶导数的图像增强——梯度算子 163
    5.5.3 基于二阶微分的图像增强——拉普拉斯算子 167
    5.5.4 基于一阶与二阶导数的锐化算子的比较 169
    5.5.5 高提升滤波及其实现 171
    5.5.6 高斯-拉普拉斯变换(Laplacian of a Gaussian, LoG) 175

    第6章 频率域图像增强 178
    6.1 频率域滤波——与空间域滤波殊途同归 178
    6.2 傅立叶变换基础知识 178
    6.2.1 傅立叶级数 179
    6.2.2 傅立叶变换 181
    6.2.3 幅度谱、相位谱和功率谱 183
    6.2.4 傅立叶变换的实质——基的转换 185
    6.3 快速傅立叶变换(Fast Fourier Transform,FFT)及实现 187
    6.3.1 FFT变换的必要性 187
    6.3.2 常见的FFT算法 188
    6.3.3 按时间抽取的基-2 FFT算法 188
    6.3.4 离散反傅立叶变换的快速算法(IFFT) 192
    6.3.5 N维快速傅里叶变换(FFTN) 192
    6.3.6 Matlab实现 192
    6.3.7 Visual C++实现 198
    6.4 频域滤波基础 206
    6.4.1 频域滤波与空域滤波的关系 206
    6.4.2 频域滤波的基本步骤 206
    6.4.3 频域滤波的Matlab实现 207
    6.4.4 频域滤波的Visual C++实现 208
    6.5 频域低通滤波器 210
    6.5.1 理想低通滤波器及其实现 210
    6.5.2 高斯低通滤波器及其实现 215
    6.6 频率域高通滤波器 220
    6.6.1 高斯高通滤波器及其实现 220
    6.6.2 频域拉普拉斯滤波器及其实现 224
    6.7 Matlab综合案例——利用频域滤波消除周期噪声 227
    6.7.1 频域带阻滤波器 227
    6.7.2 带阻滤波消除周期噪声 229
    6.8 频域滤波器与空域滤波器之间的内在联系 232

    第7章 彩色图像处理 233
    7.1 彩色基础 233
    7.1.1 什么是彩色 233
    7.1.2 我们眼中的彩色 234
    7.1.3 三原色 234
    7.1.4 计算机中的颜色表示 235
    7.2 彩色模型 236
    7.2.1 RGB模型 236
    7.2.2 CMY、CMYK模型 238
    7.2.3 HSI模型 241
    7.2.4 HSV模型 249
    7.2.5 YUV模型 254
    7.2.6 YIQ模型 260
    7.2.7 Lab模型简介 264
    7.3 全彩色图像处理基础 264
    7.3.1 彩色补偿及其Matlab实现 265
    7.3.2 彩色平衡及其Matlab实现 267

    第8章 形态学图像处理 270
    8.1 预备知识 270
    8.2 二值图像中的基本形态学运算 272
    8.2.1 腐蚀及其实现 273
    8.2.2 膨胀及其实现 280
    8.2.3 开运算及其实现 284
    8.2.4 闭运算及其实现 287
    8.3 二值图像中的形态学应用 289
    8.3.1 击中与击不中变换及其实现 289
    8.3.2 边界提取与跟踪及其实现 291
    8.3.3 区域填充及其Visual C++实现 296
    8.3.4 连通分量提取及其实现 299
    8.3.5 细化算法及其Visual C++实现 305
    8.3.6 像素化算法及其Visual C++实现 310
    8.3.7 凸壳及其Visual C++实现 316
    8.3.8 bwmorph函数 319
    8.4 灰度图像中的基本形态学运算 320
    8.4.1 灰度膨胀及其实现 320
    8.4.2 灰度腐蚀及其实现 324
    8.4.3 灰度开、闭运算及其实现 328
    8.4.4 顶帽变换(top-hat)及其实现 331
    8.5 小结 334

    第9章 图像分割 335
    9.1 图像分割概述 335
    9.2 边缘检测 336
    9.2.1 边缘检测概述 336
    9.2.2 常用的边缘检测算子 337
    9.2.3 Matlab实现 340
    9.2.4 Visual C++实现 343
    9.3 霍夫变换 350
    9.3.1 直线检测 350
    9.3.2 曲线检测 352
    9.3.3 任意形状的检测 353
    9.3.4 Hough变换直线检测的Matlab实现 354
    9.3.5 Hough变换直线检测的Visual C++实现 357
    9.4 阈值分割 361
    9.4.1 阈值分割方法 361
    9.4.2 Matlab实现 364
    9.4.3 Visual C++实现 366
    9.5 区域分割 368
    9.5.1 区域生长及其实现 368
    9.5.2 区域分裂与合并及其Matlab实现 373
    9.6 小结 378

    第10章 特征提取 379
    10.1 图像特征概述 379
    10.1.1 什么是图像特征 379
    10.1.2 图像特征的分类 379
    10.1.3 特征向量及其几何解释 379
    10.1.4 特征提取的一般原则 380
    10.1.5 特征的评价标准 381
    10.2 基本统计特征 381
    10.2.1 简单的区域描绘子及其Matlab实现 381
    10.2.2 直方图及其统计特征 383
    10.2.3 灰度共现矩阵及其Visual C++实现 385
    10.3 特征降维 388
    10.3.1 维度灾难 388
    10.3.2 特征选择简介 389
    10.3.3 主成份分析(Principal Component Analysis,PCA) 390
    10.3.4 快速PCA及其实现 397
    10.4 综合案例——基于PCA的人脸特征抽取 399
    10.4.1 数据集简介 399
    10.4.2 生成样本矩阵 400
    10.4.3 主成份分析 401
    10.4.4 主成份脸可视化分析 402
    10.4.5 基于主分量的人脸重建 404
    10.5 局部二进制模式 406
    10.5.1 基本LBP 406
    10.5.2 圆形邻域的LBPP,R算子 407
    10.5.3 统一化LBP算子——Uniform LBP及其Matlab实现 407
    10.5.4 MB-LBP及其Matlab实现 411
    10.5.5 图像分区及其Matlab实现 417

    第11章 图像识别初步 421
    11.1 模式识别概述 421
    11.1.1 模式与模式识别 421
    11.1.2 图像识别 422
    11.1.3 关键概念 422
    11.1.4 识别问题的一般描述 423
    11.1.5 过度拟合(Overfit) 424
    11.1.6 模式识别系统结构 425
    11.1.7 训练/学习方法分类 425
    11.2 模式识别方法分类 426
    11.2.1 统计模式识别 426
    11.2.2 句法模式识别 426
    11.2.3 小结 427
    11.3 最小距离分类器和模板匹配 428
    11.3.1 最小距离分类器及其Matlab实现 428
    11.3.2 基于相关的模板匹配 430
    11.3.3 相关匹配的计算效率 436

    第12章 人工神经网络 438
    12.1 人工神经网络简介 438
    12.1.1 仿生学动机 438
    12.1.2 人工神经网络的应用实例 440
    12.2 人工神经网络的理论基础 441
    12.2.1 训练线性单元的梯度下降算法 441
    12.2.2 多层人工神经网络 447
    12.2.3 sigmoid单元 448
    12.2.4 反向传播(BP,Back Propogation)算法 450
    12.2.5 训练中的问题 453
    12.3 基于ANN的数字字符识别系统DigitRec——分析与设计 454
    12.3.1 任务描述 454
    12.3.2 数据集简介 455
    12.3.3 设计要点 455
    12.4 基于ANN的数字字符识别系统DigitRec——实现 457
    12.4.1 构建神经元结构——SNeuron 457
    12.4.2 构建神经网络网络层——SNeuronLayer 459
    12.4.3 神经网络信息头——NEURALNET_HEADER 460
    12.4.4 神经网络类——CNeuralNet 460
    12.4.5 神经网络的训练数据类——CNeural Data 473
    12.4.6 误差跟踪类——CValueTrack 478
    12.4.7 训练对话框类——CTrainDlg 481
    12.4.8 测试对话框类——CTestDlg 484
    12.5 基于ANN的数字字符识别系统DigitRec——测试 487
    12.5.1 训练 488
    12.5.2 测试 489
    12.6 改进的DigitRec 490
    12.6.1 数字字符图像的预处理类——COCRImage Process 490
    12.6.2 输入图像的预处理——实现 491
    12.6.3 输入图像的预处理——测试 504
    12.7 神经网络参数对训练和识别的影响 506
    12.7.1 隐藏层单元数目的影响 506
    12.7.2 学习率的影响 508
    12.7.3 训练时代数目的影响 508

    第13章 支持向量机 511
    13.1 支持向量机的分类思想 511
    13.1.1 分类模型的选择 511
    13.1.2 模型参数的选择 512
    13.2 支持向量机的理论基础 512
    13.2.1 线性可分情况下的SVM 512
    13.2.2 非线性可分情况下的C-SVM 516
    13.2.3 需要核函数映射情况下的SVM 518
    13.2.4 推广到多类问题 521
    13.3 SVM的Matlab实现 523
    13.3.1 训练——svmtrain 523
    13.3.2 分类——svmclassify 525
    13.3.3 应用实例 526
    13.4 综合案例——基于PCA和SVM的人脸识别系统 526
    13.4.1 人脸识别简介 527
    13.4.2 前期处理 527
    13.4.3 数据规格化(Scaling) 528
    13.4.4 核函数的选择 531
    13.4.5 参数选择 532
    13.4.6 构建多类SVM分类器 535
    13.4.7 实验结果 537

    序言

    图像处理与机器视觉是当前计算机科学的一个热门研究方向,它应用广泛,发展前景乐观。近年来,伴随着人工智能、模式识别学科以及人机智能接口技术的飞速发展,机器视觉的研究正在不断升温——从日常生活中与我们息息相关的光学字符识别(OCR)和汽车自动驾驶,到医学应用中的病灶检测与分析,再到未来人机智能交互领域中的人脸识别,情感计算,等等。而图像处理是机器视觉研究中必不可少的图像预处理环节,是我们需要掌握的首要技术。
    和图像相关的东西往往容易引起计算机初学者的兴趣,我在读大学本科的时候就觉得能让计算机理解所“看”到的东西是一件非常神秘和令人兴奋的事情;但同时它的理论性较强,门槛较高,在各个高校中,这门课程大多也是作为计算机专业研究生的选修课程。要理解该领域的知识,读者需要具有一定的数学基础,除此之外还涉及到信号处理、统计分析、模式识别和机器学习等专业领域知识,因此令很多人望而却步。
    其实“难以理解”关键在于缺乏必要的先序知识,这才是难以跨越的鸿沟。我们在撰写本书过程中,对于可能造成理解困难的地方,均尽可能地给出了必要的先序知识,深入浅出,尽量定性地进行描述;对于那些并不一目了然的结论均给出了思路和解释,必要的还在附录中提供了证明;对于某些非常专业已经超过本书讨论范围的相关知识则在最后给出了参考文献,供有兴趣的读者进一步学习和研究。
    本书的宗旨是在向读者介绍知识的同时,培养读者的思维方法,使读者知其然还要知其所以然,并在解决实际问题中能有自己的想法。

    文摘

    插图:



    图像的空间和灰度级分辨率
    1.图像的空间分辨率(SpatialResolution)图像的空间分辨率是指图像中每单位长度所包含的像素或点的数目,常以像素/英寸(pixelsperinch,ppi)为单位来表示。如72ppi表示图像中每英寸包含72个像素或点。分辨率越高,图像越清晰,图像文件所需的磁盘空间也越大,编辑和处理所需的时间也越长。
    像素越小,单位长度所包含的像素数据就越多,分辨率也就越高,但同样物理大小范围内所对应图像的尺寸也会越大,存储图像所需要的字节数也越多,因而,在图像的放大缩小算法中,放大是对图像的过采样,缩小则是对图像的欠采样,这些内容会在“4.5节图像缩放”中进一步介绍。
    通常在没有必要对涉及像素的物理分辨率进行实际度量时,通常会称一幅大小为MXN的数字图像的空间分辨率为MXN像素。
    图0.3给出了同一幅图像在不同的空间分辨率下呈现出的不同效果。当高分辨率下的图像以低分辨率表示时,在同等的显示或打印输出条件下,图像的尺寸会变小,细节变得不明显;当将低分辨率下的图像放大时,则会导致图像的细节仍然模糊,只是尺寸变大。这是因为缩小的图像已经丢失了大量的信息,在放大图像时只能通过复制行列的插值方法来确定新增像素的取值。