Visual C++数字图像处理技术详解
2010-6
机械工业
刘海波,沈晶,郭耸
547
无
数字图像处理研究利用计算机进行图像信息处理的基本理论和方法,已在航空航天、生物医学工程、工业检测、机器人视觉、公安司法、导航制导、安保监控、文化艺术等诸多领域得到非常广泛的应用。数字图像处理技术的研究和应用离不开程序设计,Visual C++则是最强大、最常用的数字图像处理程序开发工具之一。本书全面地介绍了在Visual C++环境下进行数字图像处理的程序设计方法,内容涵盖了数字图像处理的理论基础和常用数字图像处理方法的Visual C++实现技术,各种方法均给出基本原理、典型算法及其完整的Visual C++源码。每种算法的源代码均以函数形式给出,读者在理解了相关代码的功能后可以直接用这些代码组合成各种功能更强大的数字图像处理应用程序。本书特点本书主要有以下特点。1.技术全面,内容充实本书全面涵盖了从图像的变换、增强、复原、重建、分割、匹配、形态学处理到压缩编码和特效处理等常用的数字图像处理技术和典型算法,同时还介绍了Visual C++与VTK、OpenCV和MATLAB相结合开发数字图像处理系统的技术。通过阅读本书读者可以全面掌握Visual C++数字图像处理的核心技术和周边相关技术。2.循序渐进。深入浅出为了方便初学者学习,本书从数字图像处理的基本概念讲起,逐步引入数字图像处理的专门理论和核心技术,再过渡到高级综合应用。对每项处理技术的讲解也是从基本原理开始,再给出算法描述,然后结合应用实例讲解开发过程。读者不需要具备数字图像处理知识就能循序渐进地掌握本书的内容,也可以根据自己的知识基础选择阅读本书时的切入点和对内容进行取舍。3.理论凝练。算法清晰本书在清楚讲述问题的情况下,对繁杂的数字图像处理理论做了大量的简化和凝练工作,这体现在最基本的原理、最核心的计算公式和清晰简明的算法描述。读者不必再花大量的精力从理论堆里去发掘算法步骤,可以直接从给出的算法步骤开始编程实践。
本书以数字图像处理技术为主线,全面地介绍在Visual C++环境下进行数字图像处理程序设计的方法。内容涵盖了数字图像的变换、增强、复原、重建、形态学处理、分割、匹配、压缩编码、特效处理等,各种方法均给出基本原理、典型算法、Visual C++源码及综合应用案例。同时,本书还介绍了Visual C++与VTK、OpenCV和MATLAB等开发平台相结合进行数字图像处理的程序设计技术。 本书内容全面,讲解深入浅出,层次分明,注重知识的系统性、针对性和先进性,注重理论结合实践,培养工程应用能力。另外,本书配套光盘中有综合实例的完整源程序,便于学习和在实际开发中使用。 本书适合作为数字图像处理与分析、计算机视觉和多媒体信息处理等相关领域的研究人员、工程技术人员、教师和学生的技术参考手册,也适合作为数字图像处理程序设计初学者的教材。
前言第一篇 数字图像处理编程基础 第1章 Visual C++图像处理基础 1.1 Visual C++概述 1.2 数字图像处理的研究内容及应用领域 1.3 颜色模式和调色板 1.3.1 颜色模式 1.3.2 Windows调色板 1.4 数字图像文件格式 1.4.1 BMP文件格式 1.4.2 其他文件格式 1.5 使用Visual C++处理数字图像的基本方法 1.5.1 使用GDI+处理数字图像 1.5.2 使用DIB处理数字图像 1.5.3 使用自定义类CDib处理数字图像 1.6 综合实例—图像浏览器 1.7 实践拓展 第二篇 数字图像处理核心技术 第2章 图像几何变换 2.1 图像位置变换 2.1.1 图像平移 2.1.2 图像旋转 2.1.3 图像镜像 2.1.4 图像转置 2.2 图像尺度变换 2.2.1 图像缩放 2.2.2 插值算法 2.3 综合实例—魔镜 2.4 实践拓展 第3章 图像正交变换 3.1 基本正交变换 3.1.1 离散傅里叶变换 3.1.2 离散余弦变换 3.1.3 离散沃尔什变换 3.2 特征变换 3.2.1 K-L变换 3.2.2 SVD变换 3.2.3 小波变换 3.3 综合实例—特征提取 3.4 实践拓展 第4章 图像增强 4.1 灰度变换增强 4.1.1 线性灰度增强 4.1.2 分段线性灰度增强 4.1.3 非线性灰度增强 4.2 直方图增强 4.2.1 直方图统计 4.2.2 直方图均衡化 4.2.3 直方图规定化 4.3 图像平滑 4.3.1 邻域平均法 4.3.2 加权平均法 4.3.3 选择式掩膜平滑 4.3.4 中值滤波法 4.4 图像锐化 4.4.1 梯度锐化 4.4.2 拉普拉斯掩膜锐化 4.5 频域增强 4.5.1 低通滤波 4.5.2 高通滤波 4.5.3 带阻滤波 4.5.4 同态滤波 4.6 彩色增强 4.6.1 真彩色增强 4.6.2 假彩色增强 4.6.3 伪彩色增强 4.7 综合实例—照片处理器 4.8 实践拓展 第5章 图像复原 第6章 图像重建 第7章 形态学处理 第8章 图像分割 第9章 图像匹配 第三篇 数字图像媒体处理技术 第10章 图像压缩编码 第11章 图像特效第四篇 数字图像编程高级应用 第12章 Visual C++结合OpenCV编程 第13章 Visual C++结合MATLAB编程 第14章 车牌识别系统综合应用参考文献
插图:Visual C++开发环境是当前主流的应用程序开发环境之一,功能强大,开发的程序执行速度快、效率高,但在科学计算方面的函数库显得不够丰富,读取、显示图形数据不方便。MATLAB则是将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,是科学研究及工程设计等众多学科领域的一种简洁、高效的编程工具。不过,由于MATLAB使用的是解释性语言,其执行速度和应用场合受到限制。因此,使用Visual C++结合MATLAB进行混合编程,是很多既熟悉Visual C++编程,而又需要进行科学计算、数据仿真的科研人员常用的一种方式。本章首先介绍一些有关MATLAB的基础知识,特别是有关图像处理方面的内容,以使读者对MATLAB有所了解,不至于在讲解混合编程时不知所云。然后,将重点介绍VC结合MATLAB进行混合编程的3种方式,并给出了相应的开发实例。最后,本章给出一个综合实例,使用两种混合开发方式实现一个运动物体跟踪程序,以引导读者综合运用所学的图像处理编程知识。MPTLAB是由Math Works公司开发的一种主要用于数值计算和可视化图形处理的工程语言,是当今最优秀的科技应用软件之一。它将数值分析、矩阵运算、图形图像处理、信号处理和仿真等诸多强大的功能集成在较易使用的交互式计算机环境中,为科学研究和工程应用提供了一种功能强、效率高的编程工具。它不但拥有强大的科学计算、可视化功能与开放式可扩展的环境,而且它所附带的30多种面向不同领域的工具箱支持,使得其在许多科学领域中成为计算机辅助设计和分析、算法研究与应用开发的基本工具及首选平台。MATLAB语言通俗地称为演算纸式科学算法语言,在控制、通信、信号处理及科学计算领域中得到了广泛应用,已经被认可为能够有效提高工作效率和改善设计手段的工具软件。
《Visual C++数字图像处理技术详解》系统论述了基于Visual C++的数字图像处理的基本理论、基本方法与实用技巧;深入剖析了数字图像处理程序的设计思想、编程步骤与调试手段。将作者多年积累的工程实践经验以案例形式呈现给读者。涵盖内容:·图像几何变换:平移、旋转、镜像、转置、缩放、插值;·图像正交变换:离散傅里叶变换、离散余弦变换、离散沃尔什变换、K-L变换、SVD变换、小波变换;·图像增强:灰度变换增强、直方图增强、平滑、锐化、频域增强、彩色增强;·图像复原:线性复原、非线性复原、盲目复原、几何复原;·图像重建:傅里叶反投影重建、卷积反投影重建、代数重建、超分辨率重建、三维图像的面绘制和体绘制;·形态学处理:二值图像和灰度图像的腐蚀、膨胀、开运算、闭运算、击中击不中变换、骨架提取、灰值形态学梯度计算、Top-Hat变换;·图像分割:边缘检测、阈值分割、边界分割、区域生长、彩色分割、分水岭分割、水平集分割;·图像匹配:归一化积相关灰度匹配、序贯相似性检测、不变矩匹配、距离变换、最小均方误差匹配;·压缩编码:Huffman编码、Shannon-Fano编码、算术编码、游程编码、线性预测编码、位平面编码、有损预;测编码、变换编码、JPEG2000编码;·特效处理:扫描、移动、百叶窗、栅条、马赛克、雨滴等显示特效以及底片、雕刻、黑白、雾化和素描等滤镜效果;·混合编程:Visual C++结合VTK编程、Visual C++结合OpenCV编程、Visual C++结合MATLAB编程。综合实例:·图像浏览器;·CT图像重建;·指纹提取;·人脸检测;·车牌识别;·照片处理器;·白细胞检测;·遥感图像匹配;·运动物体跟踪。工程专家联手打造,数字图像处理领域再创经典。
无
一直在做图像方面的应用开发,但是对图像的理论不是很了解
买过一本《数字图像处理》冈萨雷斯的那个,太专业了,很多光学,数学方面的东西。
还是这本更对我的胃口,呵呵,有代码,有理论强烈推荐一下
适合数字图像处理专业的同学学习 可以了解VC在数字图像处理中的应用
很基础,对初学数字图像处理很有帮助
各种图像处理的方法介绍的非常好,还有实例程序,真的很不错,不过你要有一定VC++基础
对我这个图像处理的初学者来说,这本书所讲解的图像处理过程很细致,编码什么的都很全。我喜欢~!呵呵呵~~~
内容翔实,正是我需要的,工作中正需要学习图像处理的东西。很值得一看。光盘源码也很好。
做毕业设计时,关于图像处理的书找了一堆,但是想参考些源代码,苦苦找寻而不得,这下终于找到了,仔细研究下……
这本书写的很不错的,可以作为数字图像编程的入门书籍
难得的一本介绍图像处理的专业书籍
看了这本书,很适用,还有光盘源码,适用于初学者和专业技术人员
既有数学理论知识,又包含程序设计思想,无论是代码注释还是变量命名都很到位,图文并茂,理论结合实际,是一本难得一见的好书。推荐!
里面的每个算法都有C++程序实现,感觉这点很好
一直想买这方面的书,昨天到的,粗略的看了下目录和前几章,感觉还行。是我想要的。一些算法及其原理讲的还比较中规中矩。
书已经看过了,很实用适合初学者!
本书内容翔实,很喜欢
可以当工具书,也比较适合入门。
光盘中的例子不错,可以直接拿来用
这本书真好 解决了我的当务之急
书很好,很实用,还有光盘,非常满意!
书不错,光盘看不成啊。。
书上的代码和光盘上的代码完全不一致——shit
内容很丰富,而且很深入
总体来说,书的内容还是比较丰富的,只是不够详细。。。
图书内容和印刷质量都不错。
到货速度很快,感觉很不错,有待好好研究
知识无价,学通了此书,月薪上万.
ganjuehaikeyi~
真的是一本好书,各种边沿检测算子都有而且代码都比较详细
做毕设用的,具体内同还没有看到。
看了几页还不错,以后就靠它了!
好好爱佛啊佛啊
工作用,还可以
书很好,正看
前面看的还可以,越到后面就越吃力了..
正在看!印刷质量很好!
每块都讲的很透彻,很用得上
书很快就到了,包装很好
浅显易懂 质量很好
效率高,我喜欢,不过纸张要厚点就更好啦!
感觉还行吧!不是很深入
不错,很快的速度
确实很好哦
介绍VC数字图像处理较好的一本书,内容包含基本的数字图像处理技术如几何变换,图像增强,形态学处理等和较高级的VC与OpenCV,VC与MATLAB的结合编程技术。此书适合初学者学习VC环境下的数字图像处理技术,如需进一步提高还需阅读其它书籍。随书附送的代码中使用的是OpenCV_1.0,而光盘的开源工具包中是OpenCV-2.0.0a,此处有点小问题,使用者从网上下载OpenCV_1.0即可。
Visual C++数字图像处理适合入门,里面有丰富的实例,但是理论介绍不够详细,需要参考其他书籍才能了解原理的来龙去脉。
数字图像处理的,VC的,现在好像这方面的书越来越多了
本来是看中里面有VTK才买这本的,可书里面只有一章讲VTK,且近半章内容在讲怎么安装。。。有点失望,不过关于C++用于图像处理的例程很多,可以参考。。。
文章对于初学图像处理的学生来说受益匪浅
很不错的图形处理方面的书。相关算法,介绍的也比较详实
很好的书,有源代码,照着做都能通过。还介绍了一些流行的图像示例。
刚刚接触图象处理,这本书讲的不错!!
这本书是基于VS 2005的,程序有的有错误,不过总体很行吧
不错,技术已经过时了。
1 质量不错,区域购买很快,前晚10点下单,第二天中午就到了(注释,我处广州)
2 代码注释的很好
PS: 若要很好的看懂里面的代码,需要一定的MFC基础,可是核心的算法部分主要有C的基础就可以看懂
很好,有很多代码对初学者很有帮助
第二次买了,很好的一本书,同学都说好
很不错的书,当当书的确挺全的,不过送时候光盘碎了,不过给换了,也没有废什么口舌。
书确实是好书,不过包装破了一个口 另外发过来的光盘不知道为什么用不了
有时候看的不知所云,看了几页,就发现了两处错误,内容倒是挺多
内容还行,适用于工程,纸张质量太差,像盗版的
不错,有很多源代码。不过感觉内容讲得不深。
男朋友说挺好的,代码好像比较复杂,学习性比较高
书中例子都很实用!
没仔细读,感觉一般,快递及时,第二天上午到,赞!
同学买了一本,据说还可以。。我还没看。
先看看后再评论吧
就是可惜是vc6.0的
看评论说不错,买来看看是不是这样!
可能对C++掌握不是很牢固的原因吧,看起开很吃力
能得此书,快哉
书还好........
书很满意哦!
没找到想要的书,换了这本 还行吧
货不错。。。
书还行,只是送货速度慢
书的质量不错,包装也蛮好的~
帮师弟买的
书中没有说明利用的是VC++6.0还是visual2005,不过书还挺新,其实我想要的是vc++6.0,可是该书讲述的是visual2005,写此评论,望以后买者要注意了,不过和我犯一样的错误……
内容比较晦涩,不适合初学者。。。
书的内容和想象中的不太一样,书的质量还可以!
相对谢凤英那本,有差距。
国人写的书东西,只是一般了。
随身带着看看
比较专业,但是对于入门比较困难。。
数学太深奥!!
前后的延续性太差,程序简陋不规范。
我买的书55页到70页竟然没有,坑人
这本书我要认真的给个评价。我也是初学VC++很头疼!把VC++的教程《vc学习笔记》的主要章节算过了一遍。电子工业出版社的,我认为很好的一本书! 想着把图像处理和vc结合起来看看,所以就选了这本书!但是到手了我才发现,这本书很难。因为程序太长了,不是我们初学者看的!所以我认识除非你基础很好,否则不要从这本书看起。
对做项目挺有帮助的,完整的源代码能拿来直接用,原理也讲得挺清楚。书中每章的实践拓展很有特色,都是编程经验的总结,挺好的。
说实话这书感觉一般,讲得都比较笼统,细节性的东西又不够深入,个人感觉有点学冈萨雷斯的样子,有点失望
写书的人毫无水平,非常怀疑如此能力的人都能写书!!!看完第一章我哭了。。。第一章介绍一些基础,贴出的代码和加载图片等等毫无关系 尽然贴出的代码是VC自动生成的那几段代码!!!我还得对着代码用比较工具去看。。。后面也好不到哪去。。介绍非常不仔细,FFT,蝶形算法,尽然就只贴了个F(0),F(4)就完了,鬼看得懂啊,反正垃圾的无法形容,我现在是用其他书的电子版,伤了!!!
书中的例子都很不完全,省略代码也不交代,完全只能靠打开附带的源程序来看效果。
书都皱褶了,而且我明明要求开发票却没给我开发票,嫌麻烦就不退了,退的话又要话快递费,不值得,失望。。。
这本书还可以,在国内有关数字图像处理的书籍算好。
本人是初学者,对我来说很实用,讲的比较详细,光盘内容很给力,有一点就是用vs写的,而本人习惯于用vc,不过仅仅是参考,这个不影响使用~还有就是书皮左下部分有些脏,也压的有点变形,纸的质量一般。。
目前正在学习,多少有用
里面初学者 可以参考,高深的算法还要靠自己
满意,正品,正是我需要的。
如果把C++掌握的比较好,这本书的利用价值还是很大的,不过初级读者就要费点劲了
翻了下,虽然还没有细看,不过整体感觉还是不错的。
比较简单,容易理解。。