首页>参考读物>计算机科学与技术>数码/设计

Java图像处理:基于OpenCV与JVM
作者 : [法] 尼古拉斯·莫德奇克(Nicolas Modrzyk)著
译者 : 魏兰 潘婉琼 译
丛书名 : 华章程序员书库
出版日期 : 2019-04-12
ISBN : 978-7-111-62388-5
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 232
开本 : 16
原书名 : Java Image Processing Recipes:With OpenCV and JVM
原出版社: Apress
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书包含了各种先进的图像处理技术,如图像平滑化、卡通化、素描化,以及使用掩膜对图像的部分区域进行修改。 你将看到如何使用OpenCV解决图像分析的问题,如边缘检测、形状检测等。 最后,本书还介绍了处理网络摄像头以及各种视频流的方法,并提供相应的代码用于实时视频分析。

图书特色

0

图书前言

我的父亲是一名牙科医生。在我的记忆里,童年时期父亲曾经一遍又一遍地重复同一句话,现在翻译过来应该是:
“儿子,工欲善其事,必先利其器。”
当他看着我试图用错误的洗涤产品事倍功半地洗车时,在内心深处我是认可他的这句话的。
我的父亲不会用螺丝刀从患者口中拔牙,相反,他用20多种形状各异的刷子去清洗不同类型的牙齿,当时我还觉得这是很搞笑的事情。
时光飞逝,30年后,我和父亲谈起这本书,他补充道:
“嗯,儿子,你知道,这不仅仅是关于工利其器,而且是关于对的时间选择对的利器。”
我想这基本可以作为对本书哲学观的总结。
作为计算机视觉库,OpenCV一直被广泛应用于各种图像和视频相关的项目中,更在推动人工智能和神经网络的发展中发挥了重要作用。但是学习和使用OpenCV并不简单,总是需要些时间选择合适的类库、合适的编译工具、合适的编译配置等。
由Clojure封装Origami的愿景是用令人愉悦的语法,直截了当地发挥OpenCV的巨大威力。我希望这样能帮助你集中更多的时间和精力在项目本身而非工具上。
第1章将介绍使用Java、Scala和Kotlin在Java虚拟机(JVM)上运行OpenCV,同时介绍它们的一些缺点。
第2章将介绍使用Clojure语言的OpenCV封装——Origami,同时介绍如何使用它进行简单的图像操作。
第3章将用优雅的语法介绍更多先进的图像处理技术,如形状检测等。
第4章转向视频处理,结合形状检测、图像变换等各种技术对实时视频进行简单的分析。

上架指导

计算机\图形图像

封底文字

本书提供了常见图像处理问题的Java解决方案、优秀实践,以及有关使用OpenCV进行图像处理的各种知识。你将使用JVM图像封装器以流水线的方式轻松地进行图像转换,并获得即时视觉反馈。本书大量使用Gorilla环境,代码可以在浏览器中执行,图像转换的结果也将直接显示在浏览器中。
本书包含了各种先进的图像处理技术,如图像平滑化、卡通化、素描化,以及使用掩膜对图像的部分区域进行修改。你将看到如何使用OpenCV解决图像分析的问题,如边缘检测、形状检测等。最后,本书还介绍了处理网络摄像头以及各种视频流的方法,并提供相应的代码用于实时视频分析。

通过阅读本书,你将可以:
创建自己的实时图像处理环境
使用OpenCV进行图像处理
使用Origami图像封装器
将图像处理技术应用于网络摄像头和视频流

作者简介

[法] 尼古拉斯·莫德奇克(Nicolas Modrzyk)著:Nicolas Modrzyk目前是Karabiner Software的首席技术官和开发团队的领导者。
他还是开源软件社区的活跃贡献者。作为开发人员和技术顾问,他多年来一直在一家视频会议公司参与设计大型服务器应用程序,通过从零开始编写高性能中间件来管理庞大的数据库集群,使日本领导者能够使用内容管理和流程管理系统,并为亚洲领先公司拓宽了业务流程的界限。
他也是敏捷方法的热情倡导者,专注于及时完成工作以满足客户需求。他还喜欢鼓励朋友和团队成员挑战自我并实现目标。他在不同国家拥有专利授权收入,包括法国、美国、爱尔兰、日本、中国和印度。他还是其他几本有关Clojure编程语言的书的作者,这些书以英语和日语出版。

译者序

计算机视觉是在计算机技术、生物视觉系统、神经科学以及感知心理学等学科基础上发展起来的学科。近年来,随着机器学习技术的大力发展,以及计算机本身算力的提高,越来越多的计算机视觉问题得以解决并大规模应用,如图像检索、人脸识别、文字识别、自动驾驶等。计算机视觉技术在无形中扩展了我们探索物质世界边界的能力,并潜移默化地变革着我们的生活方式。
OpenCV作为开放的计算机视觉源代码库,逐步成为一个通用的基础研究和产品开发平台,它不仅提供了许多前沿的图像视频处理算法,同时最大限度地进行跨平台支持,让每个对计算机视觉感兴趣的学生、科研人员以及应用开发人员参与其中。越来越多的优秀研发人员自发投身于OpenCV的开发和维护工作中,并致力于OpenCV的推广,有关OpenCV的书籍也如雨后春笋,日益繁多。权威广博如《Learning OpenCV 3》,结合视觉算法原理介绍OpenCV函数约定及正确的使用方法;生动有趣如《Mastering OpenCV with Practical Computer Vision Projects》以及《OpenCV 2 Computer Vision Application Programming Cookbook》,通过实践探索计算机视觉的应用开发;独树一帜如《Learning OpenCV3 Computer Vision with Python》,介绍基于Python的快速上手实践。而本书无疑是对基于JVM的OpenCV实践的有力补充。本书介绍了使用Java、Scala和Kotlin在JavaVM上运行OpenCV,随后引入Clojure语言的OpenCV封装——Origami,并提供了各种纷繁有趣的实践项目。读者可以依次学习这些小项目,也可以直接跳到感兴趣的章节,更可以充分发挥你的想象力,将学到的内容应用于日常生活中,如马赛克拼图、实时视频检测等。
学以致用,实践出真知,相信本书的问题和样例会有助于你快速应用计算机视觉的诸多算法。
本书的翻译工作由我和潘婉琼合作完成,我们穿插着完成了每章不同节的翻译,最后共同进行了终稿的合并以及审校。在翻译过程中,我们力求忠实原文。但限于译者的知识水平、翻译经验和翻译时间,必定会有诸多不足,恳请广大读者谅解。
最后,祝愿所有读者能够在阅读和实践中享受本书带来的乐趣!

魏兰
2019年1月于北京

图书目录

译者序
前言
作者简介
技术审校者简介
第1章 基于JavaVM的OpenCV/ 1
1.1 初识Leiningen/ 2
1.2 编写你的第一个OpenCV Java程序/ 7
1.3 自动编译和运行代码/ 9
1.4 使用更好的文本编辑器/ 11
1.5 学习OpenCV矩阵对象基础知识/ 15
1.6 从文件加载图像/ 17
1.7 保存图像到文件/ 20
1.8 利用子矩阵修剪图像/ 22
1.9 从子矩阵生成矩阵/ 25
1.10 高亮显示图像中的物体/ 29
1.11 使用Canny结果作为掩膜/ 32
1.12 使用轮廓进行边缘检测/ 34
1.13 处理视频流/ 37
1.14 用Scala写OpenCV代码/ 41
1.15 用Kotlin写OpenCV代码/ 46
第2章 OpenCV和Origami/ 58
2.1 开始Origami编程/ 59
2.2 使用矩阵/ 73
2.3 载入、显示、保存矩阵/ 80
2.4 使用颜色、颜色映射和颜色空间/ 85
2.5 旋转和变换矩阵/ 95
2.6 滤波矩阵/ 102
2.7 应用简单掩膜技术/ 110
2.8 模糊图像/ 114
第3章 图像处理技术/ 119
3.1 玩转颜色/ 120
3.2 制作卡通效果/ 137
3.3 制作铅笔素描效果/ 143
3.4 制作画布效果/ 149
3.5 高亮显示线条和圆圈/ 152
3.6 查找、绘制轮廓和边界/ 160
3.7 轮廓进阶:玩转形状/ 168
3.8 移动形状/ 174
3.9 树问题/ 177
3.10 检测模糊/ 180
3.11 制作马赛克拼贴图像/ 182
第4章 实时视频/ 188
4.1 初探视频流/ 189
4.2 整合多个视频流/ 194
4.3 扭曲视频/ 196
4.4 使用人脸识别/ 198
4.5 图像差值/ 201
4.6 运动检测/ 204
4.7 使用Grabcut分离前景和背景/ 208
4.8 实时检测橙子/ 214
4.9 视频流中的图像检测/ 218

教学资源推荐
作者: (英)Maria Petrou, (希)Panagiota Bosdogianni
作者: 彭波 孙一林 等
作者: 姚敏 等编著
参考读物推荐
作者: 王红卫 等编著
作者: 戴时颖 周莉 刘绍婕 等编著
作者: 荣钦科技主笔