首页>参考读物>计算机科学与技术>软件与程序设计

Java数字图像处理:编程技巧与应用实践
作者 : 贾志刚 著
出版日期 : 2015-11-30
ISBN : 978-7-111-51946-1
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 348
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

书中首先通过一个简单JAVA图像处理程序勾勒出用JAVA来实现图像处理的基本步骤,介绍JAVA在操作图像方面的几个重要的API 类如ImageIO, BufferedImageOP等,并对图像文件的保存与读写做较为深入细致的讲解。从第二章开始介绍图像的像素操作同时还会用实例讲解如何通过这些简单的像素操作实现图像的色彩特效。接下来会学习图像的直方图,演示如何直方图均衡化的实际应用,会基于直方图实现一种图像搜索算法,接下来学习图像处理中最重要与常见的如何调整图像的亮度,对比度与饱和度实现图像的基本调整。然后逐步深入介绍图像的模糊与锐化,首先学习图像卷积模糊算法,然后介绍快速模糊算法盒子模糊,细节保留的高斯模糊与双边模糊,以及各种不同方向的对图像实现模糊的技术,从而实现不同的处理效果。再深入一层,学习图像的二值化算法,实现对二值图像的各种操作,学习图像的各种特征提取算法,最后讲解图像的segmentation算法、mean-shift、 K-Means、Fuzzy C-Means,并实现一个油画算法:sift算法与照片转换为油画算法实现。

图书特色

CSDN博客专家撰写,多年工作与实践研究的沉淀,帮助读者跨越从理论到实践的鸿沟
系统全面地介绍图像处理各种方法与常见应用场景的编程实现,揭示Java Swing图形与图像编程基本API的使用技巧,逐级深入以实际应用来加深对各知识点编程实践的理解

封底:
图像处理一直是计算机科学的热门研究课题,该领域涌现出了一大批杰出的图像处理人才,推动了社会的文明与进步,无论是医疗科技、农业科技、工业设计,还是检测、遥感测绘等,都受益于计算机图像处理技术的进步与发展。二十一世纪以来,伴随着互联网产业的发展与社会需求的推动,图像处理技术更是得到飞速发展,因此对图像处理专业人才的需求也更加迫切。然而由于图像处理是一门涉及众多学科知识,具备一定学习门槛的专业领域,因此让很多人望而生畏、裹足不前。本书将从最基础的图像处理概念入手,以代码驱动学习,带领大家一步一步踏入图像处理领域,书中注重理论与实践相结合,坚持以代码说话,用实践来加深对理论知识的认知与理解,真正做到授人以渔。

以程序员的独特视角阐述图像处理的每个知识点,尽量少引入复杂的数学公式推导,坚持以代码实践来演示理论。
通过实例剖析来配合理论知识的讲解,每一个章节都有对应知识点的代码实践,同时还有实现思路的讲解与步骤介绍,让读者能真正学以致用。
基于Java语言实现全部算法代码,不仅介绍了卷积、二值化处理、图像特征提取、分割等常见算法,还联系实际应用介绍了图像搜索、SIFT特征提取、基于Moment的油画算法等综合知识,以便更好地帮助读者掌握各种算法的编程实现技巧。


贾志刚
CSDN博客专家,51CTO视频学院认证讲师, 拥有10年以上的Java语言编程经验,在图像特征提取匹配、识别等方面有较深入的研究,多年从事Java Swing图形与图像方面的应用开发,拥有丰富的图像处理项目实践经验。


本书全面介绍了各种常见图像处理知识的编程实现技巧及应用场景,跳出传统图像处理图书以数学推导、理论说明为主的方式,以编程实践来介绍所包含的各个知识点。
全书共分两个部分,基础篇(第1章~第3章)将简单地介绍Java Swing图形与图像编程基本API的使用技巧和相关编程实践,帮助读者了解图像接口在Java语言中的基础知识,并熟悉像素读写与操作。
图像处理与应用篇(第4章~第14章)则从最基础的像素操作开始,通过编程介绍图像处理所涉及的基本像素运算、混合、图像插值、直方图获取与图像搜索、图像卷积、边缘提取、二值图像分析与特征提取等知识,最后通过剖析一个流行的图像油画转换算法编程实践来结束本书。全面阐述了图像处理的理论知识与实践技巧,介绍了各知识点的编程实现思路与步骤。

图书前言

为什么要写这本书
我对图像处理的认识最初来自于读软件工程专业时做毕业设计论文的需要,毕业论文做完以后,我便把所有关于图像处理的知识扔到了一边。2011年的一天有位朋友问了我几个简单的图像处理方面的问题,在解答问题的过程中我发现自己对图像处理的热情一直都在燃烧,从那一刻起我决定重新学习图像处理。这之后,我把以前买的几本图像处理的书都读了一遍,同时还坚持通过写博客来督促自己加深理解,随着学习的不断深入,对图像处理的认知也在不断加深,我越来越渴望自己能实现那些书中提到的图像处理手段与方法,于是便开始不断尝试,在经过了各种“坑”与无助之后,我终于编程实现了学习过的每一种图像处理方法。这个过程十分痛苦,因为我深刻感受到了图像处理在理论与实践之间的细微差异,而这些细微差异往往会导致处理结果与理论预期相差很大。
可能提到图像处理,很多人马上就会想到相关书籍中各种复杂的数学公式与矩阵计算,然后就会说我数学不好学不了这个,早早地就把自己给否定了。那些数学公式的确让人望而生畏,但是只要仔细探究一番,就会发现它在图像处理的应用上远远没有看上去那么复杂,甚至可以说十分简单,这是本人学习图像处理时得到的最大一个心得体会,正如一句俗语说的:“世上无难事,只怕有心人”。
正是因为自己在学习过程中经历了痛苦,所以我想写一本不一样的图像处理入门图书,内容不再是冰冷的数学公式与文字描述,而是基于理论的实践步骤和细节详解,是一个个可以直接运行的代码实现,书中没有大量的数学公式,有的只是数学知识的巧妙运用。我希望通过分享自己学习过程中的体会与编程实践经验,帮助更多人在学习图像处理的道路上少走弯路,早日进入图像处理的科学殿堂。
在国内,程序员写书早已经不是什么新鲜事物,但是我可以肯定地说,本书是国内第一本由奋斗在编码一线的码农写的图像处理入门图书。它不是当下流行的视觉图像处理库的应用介绍,而是图像处理基础知识和理论的学习与实践,正如一句西方科技谚语所说的那样,“在理论上,理论与实践是一致的,在实践上,它们是不一致的”。当前关于图像处理的书大多数都是重理论而轻实践,但图像处理在理论与实践编程之间是存在轻微差异的,而这就成了很多初学者无法逾越的鸿沟。本书就是要拟合理论与实践之间的鸿沟,帮助读者架起从理论到实践的大桥。
作为工作超过十年的程序员写的第一本书,本书也是我个人职业生涯的一个新起点,它鞭策与勉励自己不断努力上进,除了对图像处理的兴趣外,这一年多写书的动力更多的是毅力与帮助后来者的初衷。只要本书能为国内图像处理专业知识的普及与应用实践略尽绵薄之力,那辛苦也就值了。
读者对象
本书适合以下人群阅读:
从事图像处理的工作人员
学习图像处理的爱好者
希望提升自我的中高级程序员
计算机专业高年级本科生或研究生
开设图像处理相关课程的大专院校学生
从事Java应用的开发者
如何阅读本书
本书分为两大部分,其中第一部为前三章,主要介绍Java Swing编程的基础知识。第二部分是本书的核心内容,系统全面地介绍图像处理的各种方法与常见应用场景编程实现。如果你已经对Java语言和Java Swing有基本的认识,可以跳过前三章,直接从第4章开始阅读本书。同时本书注重实践,所以请务必阅读给出的源代码并运行它,这样才能更好地理解所讲的知识。
第一部分为基础篇,简单地介绍了Java Swing图形与图像编程基本API使用技巧,以及相关实践编程,帮助读者了解图像接口在Java语言中的基础知识,并熟悉像素的读写与操作。
第二部分为实践与应用编程,从最基础的像素操作开始,通过实践编程讲解图像处理过程中各种基本像素运算、混合、图像插值、直方图获取与图像搜索、图像卷积、边缘提取、二值图像分析与特征提取等知识,最后通过剖析一个流行的图像油画转换算法编程实践来结束本书。
附录为本书相关数学知识简单参考。其他参考资料索引可在我的Github上找到。
此外,本书的源文件可到www.hzbook.com上通过搜索本书下载,或者到github上下载。
勘误和支持
由于作者的水平有限,编写的时间也很仓促,书中难免会出现一些错误或不准确的地方,恳请读者批评指正。本书配套源代码已上传到github上,访问地址为:https://github.com/gloomyfish/mybook-java-imageprocess,如果有读者想直接提交勘误之后的代码,请先邮件联系本人,同意以后即可提交,同时本人也会根据读者反馈修改更新源代码。如果你有更多的宝贵意见,也欢迎发送邮件至我的邮箱bfnh1998@hotmail.com,我很期待能够听到你们的真挚反馈。
致谢
首先要感谢图像处理学科那些伟大的先行者,是他们创立了这个影响力巨大的学科。其次要感谢CSDN博客频道,在CSDN我结识了很多良师益友,他们直言不讳地指出了我博客文章中的很多不妥之处与需要改进的地方,特别是Trent、jichen324、qiwenmingshiwo、FDHGVH2461、cr459464757、wust小吴、xiaowei_cqu,以及这个仓促写就的名单之外的更多朋友,感谢你们的宝贵建议。
感谢机械工业出版社华章分社的编辑杨绣国老师,你的一封电子约稿邮件促成了本书,也帮助我实现了写一本注重实践的图像处理入门图书的梦想;感谢你的耐心,在这一年多时间里你不厌其烦地回答我在写作过程中一个又一个问题;感谢你的魄力和远见,始终支持我的写作,你的鼓励和帮助引导我顺利完成全部书稿。
最后一定要感谢我的父母,感谢你们将我培养成人;感谢我的妻子在我写书的这一年多时间让我从家务中解脱,给我支持与鼓励。
谨以此书,献给我最亲爱的两个孩子,以及众多热爱图像处理的朋友们。

贾志刚
中国,苏州,2015年9月

上架指导

计算机\图形图像

封底文字

图像处理一直是计算机科学的热门研究课题,该领域涌现出了一大批杰出的图像处理人才,推动了社会的文明与进步,无论是医疗科技、农业科技、工业设计,还是检测、遥感测绘等,都受益于计算机图像处理技术的进步与发展。二十一世纪以来,伴随着互联网产业的发展与社会需求的推动,图像处理技术更是得到飞速发展,因此对图像处理专业人才的需求也更加迫切。然而由于图像处理是一门涉及众多学科知识,具备一定学习门槛的专业领域,因此让很多人望而生畏、裹足不前。本书将从最基础的图像处理概念入手,以代码驱动学习,带领大家一步一步踏入图像处理领域,书中注重理论与实践相结合,坚持以代码说话,用实践来加深对理论知识的认知与理解,真正做到授人以渔。
本书的主要内容和特色:
? 以程序员的独特视角阐述图像处理的每个知识点,尽量少引入复杂的数学公式推导,坚持以代码实践来演示理论。
? 通过实例剖析来配合理论知识的讲解,每一个章节都有对应知识点的代码实践,同时还有实现思路的讲解与步骤介绍,让读者能真正学以致用。
? 基于Java语言实现全部算法代码,不仅介绍了卷积、二值化处理、图像特征提取、分割等常见算法,还联系实际应用介绍了图像搜索、SIFT特征提取、基于Moment的油画算法等综合知识,以便更好地帮助读者掌握各种算法的编程实现技巧。

作者简介

贾志刚 著:暂无简介

图书目录

前言
第1章 Java Graphics及其API简介1
1.1 什么是Java图形设备Graphics1
1.1.1 Graphics概述2
1.1.2 Graphics图形设备的获取、使用和销毁2
1.1.3 Java Swing Graphics2D的重要属性3
1.2 Java 2D API3
1.2.1 基本的Java 2D图形绘制4
1.2.2 使用Java 2D实现太极图形绘制5
1.3 用Java Swing绘制自定义的JPanel6
1.4 Swing Java 2D的其他高级特性介绍8
1.5 小结13
第2章 Java BufferedImage对象及其支持的API操作14
2.1 BufferedImage对象的构成14
2.1.1 Raster对象的作用与像素存储15
2.1.2 图像类型与ColorModel16
2.1.3 BufferedImage对象的创建与保存17
2.1.4 一个完整的ImageBuffered读取例子18
2.2 Java BufferedImageOp API20
2.2.1 Java BufferedImageOp 接口介绍20
2.2.2 BufferedImage对象像素的读写方法21
2.2.3 常见问题举例21
2.3 基于BufferedImageOp的图像滤镜演示22
2.4 小结28
第3章基本Swing UI组件与图像显示29
3.1 JPanel组件与BufferedImage对象的显示29
3.2 JFrame组件与Main UI实现31
3.3 JFileChoose文件选择框的使用32
3.4 基本JButton事件响应32
3.5 一个完整的Swing UI Demo33
3.6 小结37
第4章图像属性39
4.1 失去的时光与回忆—老照片特效39
4.2 图像属性42
4.3 图像的亮度、对比度和饱和度45
4.4 图像饱和度调整46
4.5 图像亮度调整50
4.6 图像对比度调整53
4.7 综合应用—调整图像亮度、对比度和饱和度55
4.8 小结61
第5章像素基本操作62
5.1 大自然的色彩—自然系列滤镜62
5.2 图像像素加减乘除65
5.3 两幅图像的融合与叠加70
5.4 一个更加深入的应用实践—图像上轧花文字效果75
5.5 小结82
第6章像素统计与应用83
6.1 统计图像的均值、最大值与最小值83
6.2 灰度图像二值化86
6.3 图像直方图91
6.4 基于直方图实现图像二值化96
6.5 应用—直方图均衡化100
6.6 应用—基于直方图的图像搜索105
6.7 小结109
第7章图像编辑110
7.1 为什么图像放大以后失真110
7.2 临近点插值算法117
7.3 双线性插值算法120
7.4 双立方插值与Lanczos采样124
7.4.1 双立方插值算法124
7.4.2 Lanczos采样插值算法131
7.5 图像旋转134
7.6 小结141
第8章图像卷积143
8.1 模糊也是一种美143
8.2 图像空间域卷积145
8.3 盒子模糊与高斯模糊149
8.3.1 盒子模糊150
8.3.2 高斯模糊154
8.4 边缘保留的模糊算法—高斯双边模糊157
8.5 像素格特效163
8.6 卷积应用:图像去噪165
8.7 图像锐化、拉普拉斯滤波173
8.8 小结176
第9章边缘检测与提取177
9.1 什么是图像的边缘177
9.2 Robot算子与轧花效果179
9.3 Sobel算子与Prewitt算子 182
9.4 图像梯度—大小与角度186
9.5 基于二阶导数的图像边缘提取189
9.6 经典边缘提取算法—Canny Edge Detection193
9.7 小结200
第10章二值图像201
10.1 二值图像概述与半色调算法201
10.2 图像抖动算法204
10.3 二值图像泛洪填充算法208
10.4 连通组件标记算法212
10.5 二值图像边缘跟踪218
10.6 二值图像细化224
10.7 计算连通区域几何质心228
10.8 计算连通区域方向角度231
10.9 小结233
第11章图像形态学235
11.1 像素集合操作235
11.2 腐蚀与膨胀238
11.3 开闭操作241
11.4 Hit-and-Miss变换操作244
11.5 距离变换247
11.6 分水岭算法250
11.7 灰度图像腐蚀与膨胀254
11.8 小结257
第12章图像分割258
12.1 抠图真的这么难吗258
12.2 基于Mean-Shift的图像分割259
12.3 基于K-Means的图像分割265
12.4 基于Fuzzy C-Means的图像分割269
12.5 基于分水岭的图像分割275
12.6 小结279
第13章图像特征的提取与检测280
13.1 颜色特征提取280
13.2 纹理提取283
13.3 直线检测288
13.4 圆检测291
13.5 图像金字塔295
13.6 Harris角度检测302
13.7 SIFT特征提取307
13.8 小结322
第14章综合运用:照片转油画算法323
14.1 画笔区域323
14.2 采样问题325
14.3 笔画参数327
14.4 笔画绘制330
14.5 程序实现334
14.6 小结337
附录 数学知识参考引用338

教学资源推荐
作者: 朱鸣华 罗晓芳 董明 孟军 汪德刚 编著
作者: 钱晓捷 编著
作者: [美]雷蒙德?盖拉多( Raymond Gallardo) 斯科特?霍梅尔(Scott Hommel) 索亚?坎南(Sowmya Kannan) 琼尼•戈登(Joni Gordon) 沙伦?比奥卡?扎卡沃(Sharon Biocca Zakhour) 著
作者: 贾伯琪 顾为兵 苏仕华 张四海 何克东 编著
参考读物推荐
作者: 罗江宇 赵士杰 李涵淼 闵文俊 著
作者: 丁如敏 王琳 等著
作者: 陈丹丹 李银龙 等编著