新書推薦:
《
(棱镜精装人文译丛)思想的假死
》
售價:NT$
290.0
《
当代精神分析新论
》
售價:NT$
430.0
《
宋初三先生集(中国思想史资料丛刊)
》
售價:NT$
990.0
《
棕榈油的全球史 : 从奴隶船到购物篮
》
售價:NT$
440.0
《
简帛时代与早期中国思想世界(上下册)(王中江著作系列)
》
售價:NT$
1400.0
《
进化主义在中国的兴起(王中江著作系列)
》
售價:NT$
950.0
《
不废风雅 生活的意趣(汪曾祺风雅意趣妙文)
》
售價:NT$
280.0
《
东亚世界形成史论(新版)
》
售價:NT$
490.0
|
內容簡介: |
本书将分为两个部分。第 一部分为基础知识,从OpenCV框架的简单介绍到OpenCV、AndroidSDK、NDK的编程应用,系统全面地介绍OpenCV在移动领域的应用、所涉及的OpenCV中的核心模块、图像处理模块、特征提取与对象检测模块等。第二部分为实战案例,包括OCR识别、人脸美颜、人眼实时跟踪与渲染。
|
目錄:
|
CONTENTS
目录
前言
第一部分 OpenCV图像处理系统学习篇
第1章 OpenCV Android开发框架2
1.1 OpenCV是什么2
1.1.1 OpenCV的历史与发展3
1.1.2 OpenCV模块介绍4
1.1.3 OpenCV Android SDK5
1.2 OpenCV Android开发环境搭建6
1.2.1 软件下载与安装6
1.2.2 环境搭建7
1.2.3 代码测试13
1.3 构建演示APP14
1.4 拍照与图像选择18
1.5 小结20
第2章 Mat与Bitmap对象21
2.1 Mat对象21
2.1.1 加载图像与读取基本信息22
2.1.2 Mat创建与初始化24
2.1.3 Mat对象保存25
2.2 Android中的Bitmap对象26
2.3 基础形状绘制与填充29
2.4 Mat与Bitmap的使用与转换34
2.5 小结36
第3章 Mat像素操作37
3.1 像素读写37
3.2 图像通道与均值方差计算40
3.3 算术操作与调整图像的亮度和对比度44
3.4 基于权重的图像叠加46
3.5 Mat的其他各种像素操作48
3.6 小结52
第4章 图像操作53
4.1 模糊53
4.2 统计排序滤波59
4.3 边缘保留滤波62
4.4 自定义滤波64
4.5 形态学操作67
4.6 阈值化与阈值72
4.7 小结78
第5章 基本特征检测79
5.1 梯度计算79
5.2 拉普拉斯算子82
5.3 Canny边缘检测83
5.4 霍夫直线检测86
5.5 霍夫圆检测89
5.6 轮廓发现与绘制91
5.7 轮廓分析94
5.8 图像直方图98
5.9 模板匹配107
5.10 小结110
第6章 特征检测与匹配111
6.1 Harris角点检测111
6.2 Shi-Tomasi角点检测114
6.3 SURF特征检测116
6.4 SIFT特征检测121
6.5 Feature2D中的检测器与描述子128
6.6 特征匹配查找已知对象134
6.7 级联分类器与人脸检测137
6.8 小结143
第7章 相机使用144
7.1 使用JavaCameraView144
7.2 横屏与竖屏显示151
7.3 相机预览帧图像处理153
7.4 在预览帧中实现人脸检测155
7.5 小结161
第二部分 OpenCV4Android应用实战
第8章 OCR识别164
8.1 什么是OCR164
8.2 开源OCR框架Tesseract167
8.3 识别身份证号码170
8.3.1 UI部分实现171
8.3.2 号码区域查找172
8.3.3 号码识别174
8.4 提高OCR识别率177
8.4.1 使用Tesseract命令行生成训练数据177
8.4.2 图像预处理181
8.5 小结184
第9章 人脸美颜185
9.1 积分图计算185
9.2 局部均方差滤波189
9.3 遮罩层生成192
9.4 高斯权重融合194
9.5 边缘提升196
9.6 美颜实现198
9.7 小结204
第10章 人眼实时跟踪与渲染205
10.1 界面显示与相机预览205
10.2 人脸检测与跟踪208
10.3 寻找眼睛候选区域213
10.4 眼睛检测214
10.5 黑眼球定位217
10.6 渲染与优化220
10.7 小结222
|
內容試閱:
|
PREFACE前言为什么要写这本书2015年,我出版了第一本图像处理方面的图书《Java数字图像处理:编程技巧与应用实践》,该书主要讲述图像处理的各种基础算法原理与代码实现,基于Java语言进行描述,没有太多的工程应用实践案例,是一本编程实践入门级的图像处理图书。因此我一直想再写一本工程实践性比较强的图书,Java与Android程序员可以通过这样的书籍,摆脱底层算法实现难的烦恼,快速学习相关API的使用,掌握常见的图像处理技术,快速开发应用,上手计算机视觉应用开发;他们通过学习与参照书中的工程实践案例,可以解决实际需求,提升个人竞争力,为企业和个人在短时间内创造更大的价值。
OpenCV作为一款开源的计算机视觉框架,封装了超过1000个常见的图像处理算法,其SDK语言支持Java、C++、Python等。借助人工智能兴起的东风,近几年OpenCV开发者社区的发展非常迅速,人数成几何级递增,而且已经对Android系统有了良好的支持与完备的SDK开发接口。在无须了解底层算法实现的情况下,借助OpenCV提供的SDK,Android开发者可以实现OCR识别、图像处理、人脸检测、相机校正、实时视频分析与处理、AR增强等移动端应用开发。
对大多数Android开发者来说,OpenCV与计算机视觉应用开发都可能显得有点陌生,因为市面上缺乏专业的工程性书籍与文档,OpenCV社区对Android SDK本身也没有提供完善的API文档与代码演示,这让很多Android程序员无法顺利使用OpenCV框架在移动端开发计算机视觉相关的应用。本书系统性地讲述OpenCV如何在Android系统上应用开发与工程实践,撰写本书的时候,因为OpenCV的很多API调用参数缺少文档说明,因此笔者需要通过编程实践一点一点全部尝试之后再总结出来,用实践出真知来形容本书一点也不过分。笔者本人是个地道的程序员,特别理解和了解程序员的视角与工程应用的重点和难点,本书从程序员的视角出发,在思路分析与代码实现上,对每个案例都做了非常清楚的交代与解释,对不同算法函数的应用场景都有详细的代码演示。本书最后三个案例分别涉及OCR识别、人脸美颜算法、视频检测与跟踪渲染这些实际落地场景,这三个案例是笔者本人精心挑选的,涵盖了大多数Android开发者的工程实践需求与工作需要,力求做到尽善尽美,然“人无完人,金无足赤”,最终还需读者评价。
如果说我的第一本书是对我十年工作的总结,那么本书就是我十年之后再出发的征途起点,“远飞者当换其新羽”,对广大Android与Java程序员来说,处在人工智能时代,掌握前沿技术,更新自己的技术栈,提升个人竞争力,计算机视觉与OpenCV就是个很好的方向与选择。作为技术人员唯有鼎故革新、砥砺前行,才能不负这个最好的时代,本书也是献给广大Android与Java程序员最好的礼物。
最后,希望通过本书的知识和作者有限的经验,帮助广大Android与Java程序员,以及众多有志于从事计算机视觉的后来者,借助OpenCV框架走上计算机视觉应用开发的道路。本书的顺利出版离不开笔者对OpenCV与计算机视觉技术的兴趣,更离不开笔者的毅力与本书写作初衷。希望本书能为国内OpenCV框架使用的普及与应用开发实践尽绵薄之力,若能如愿也不枉我的一番努力。
读者对象本书适合于以下读者对象。
广大Android与Java程序员。
从事图像处理的工作者。
学习图像处理的爱好者。
希望提升自我的中高级程序员。
计算机专业高年级本科生或者研究生。
从事图像处理行业的公司与个人。
开设图像处理相关课程的大专院校学生。
如何阅读本书本书共分为两大部分,其中第一部分为第1章到第7章,系统地介绍了OpenCVAndroid的开发框架及功能。第二部分是本书的案例部分,系统全面地分析了三个实际案例,讲解如何借助OpenCV框架解决实际问题。如果你已经对Java语言和Android系统上的SDK开发有基本的认识,那么可以直接开始阅读本书,书中的源代码也是本书的一部分,建议在阅读本书内容的同时,尝试运行与修改本书提供的源代码,这样有助于更加深刻地理解与之相关的API参数与算法应用场景。
第一部分为基础篇,由浅入深,从OpenCV框架的简单介绍到OpenCV与Android SDK、NDK的编程应用,系统全面地介绍了OpenCV在移动领域的应用、OpenCV中的核心模块、图像处理模块、特征提取与对象检测模块等。读者在学习与掌握OpenCV 相关API用法的前提下可以学习第二部的实战案例。
第二部分为实战案例部分,由OCR识别、人脸美颜、人眼实时跟踪与渲染三个典型案例组成。通过案例学习,读者将学会如何设计算法流程、使用组合算法API、关注应用的性能与内存问题,以及NDK开发技巧、其他图像处理开发相关API的使用技巧。
此外,本书的源文件可到www.hzbook.com上搜索本书书名下载,或者到Github上下载本书演示工程,网址为https:github.comgloomyfish1998opencv4androidtreemastersamplesOpencvDemo。
本书参考资料也可从Github上下载,网址为https:github.comgloomyfish1998opencv4android。
勘误和支持由于笔者的水平有限,编写的时间也很仓促,书中难免会出现一些错
|
|