数字图像处理与机器视觉:Visual C++与Matlab实现(附CD-ROM光盘1张)
分類: 图书,计算机与互联网,计算机科学理论,计算机结构、设计与制造,
品牌: 张铮
基本信息·出版社:人民邮电出版社
·页码:544 页
·出版日期:2010年04月
·ISBN:9787115220233
·条形码:9787115220233
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
产品信息有问题吗?请帮我们更新产品信息。
内容简介本书将理论知识、科学研究和工程实践有机结合起来,介绍了数字图像处理和识别技术的方方面面,内容包括图像的点运算、几何变换、空域和频域滤波、图像复原、形态学处理、图像分割以及图像特征提龋本书还对于机器视觉进行了前导性的探究,重点介绍了两种在工程技术领域非常流行的分类技术——人工神经网络(ANN)和支持向量机(SVM),并在配套给出的识别案例中直击光学字符识别(OCR)和人脸识别两大热点问题。 全书结构紧凑,内容深入浅出,讲解图文并茂,适合于计算机、通信和自动化等相关专业的本科生、研究生以及工作在图像处理和识别领域一线的广大工程技术人员阅读。
目录
目录 第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.1Matlab操作简介12 1.1.1Matlab软件环境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.9Matlab程序流程控制23 1.1.10M文件编写27 1.1.11Matlab函数编写28 1.2Matlab图像类型及其存储方式29 1.3Matlab的图像转换33 1.4读取和写入图像文件35 1.5图像的显示37 第2章Visual C++图像处理编程基�39 2.1位图文件及其C++操作39 2.1.1设备无关位图39 2.1.2BMP图像文件数据结构39 2.2认识CImg类42 2.2.1主要成员函数列表42 2.2.2公有成员43 2.3CImg类基础操作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.4DIPDemo工程55 2.4.1DIPDemo主界面55 2.4.2图像操作和处理类——CImg和CImgProcess56 2.4.3文档类——CDIPDemoDoc57 2.4.4视图类——CDIPDemoView58 2.5CImg应用示例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.2Matlab实现64 3.1.3Visual C++实现67 3.2灰度的线性变换69 3.2.1理论基�69 3.2.2Matlab实现70 3.2.3Visual C++实现72 3.3灰度对数变换73 3.3.1理论基�74 3.3.2Matlab实现74 3.3.3Visual C++实现75 3.4伽玛变换76 3.4.1理论基�76 3.4.2Matlab实现77 3.4.3Visual C++实现79 3.5灰度阈值变换80 3.5.1理论基�80 3.5.2Matlab实现81 3.5.3Visual C++实现82 3.6分段线性变换83 3.6.1理论基�83 3.6.2Matlab实现84 3.6.3Visual C++实现88 3.7直方图均衡化90 3.7.1理论基�90 3.7.2Matlab实现91 3.7.3Visual C++实现93 3.8直方图规定化(匹配)94 3.8.1理论基�95 3.8.2Matlab实现95 3.8.3Visual 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.9Visual 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.1FFT变换的必要性187 6.3.2常见的FFT算法188 6.3.3按时间抽取的基-2 FFT算法188 6.3.4离散反傅立叶变换的快速算法(IFFT)192 6.3.5N维快速傅里叶变换(FFTN)192 6.3.6Matlab实现192 6.3.7Visual 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.7Matlab综合案例——利用频域滤波消除周期噪声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.1RGB模型236 7.2.2CMY、CMYK模型238 7.2.3HSI模型241 7.2.4HSV模型249 7.2.5YUV模型254 7.2.6YIQ模型260 7.2.7Lab模型简介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.8bwmorph函数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.3Matlab实现340 9.2.4Visual C++实现343 9.3霍夫变换350 9.3.1直线检测350 9.3.2曲线检测352 9.3.3任意形状的检测353 9.3.4Hough变换直线检测的Matlab实现354 9.3.5Hough变换直线检测的Visual C++实现357 9.4阈值分割361 9.4.1阈值分割方法361 9.4.2Matlab实现364 9.4.3Visual 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基本LBP406 10.5.2圆形邻域的LBPP,R算子407 10.5.3统一化LBP算子——Uniform LBP及其Matlab实现407 10.5.4MB-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.3sigmoid单元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构建神经元结构——SNeuron457 12.4.2构建神经网络网络层——SNeuronLayer459 12.4.3神经网络信息头——NEURALNET_HEADER460 12.4.4神经网络类——CNeuralNet460 12.4.5神经网络的训练数据类——CNeural Data473 12.4.6误差跟踪类——CValueTrack478 12.4.7训练对话框类——CTrainDlg481 12.4.8测试对话框类——CTestDlg484 12.5基于ANN的数字字符识别系统DigitRec——测试487 12.5.1训练488 12.5.2测试489 12.6改进的DigitRec490 12.6.1数字字符图像的预处理类——COCRImage Process490 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线性可分情况下的SVM512 13.2.2非线性可分情况下的C-SVM516 13.2.3需要核函数映射情况下的SVM518 13.2.4推广到多类问题521 13.3SVM的Matlab实现523 13.3.1训练——svmtrain523 13.3.2分类——svmclassify525 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
……[看更多目录]