我为什么要写《OpenCV Android 开发实战》这本书

2015年我出版了个人第一本关于图像处理方面的书籍《Java图像处理-编程技巧与应用实践》,这本书主要是从理论与编码上面详细阐述了图像处理基础算法以及它们在编码实现上的技巧。一转眼已经三年过去了,在这三年的时光里我无时无刻都在关注图像处理与计算机视觉技术发展与未来,同时渐渐萌发了再写一本图像处理相关技术书籍的念头,因为《Java图像处理-编程技巧与应用实践》一书主要不是针对工程应用场景,读者在学完之后很难直接上手开始做项目,所以把第二本书定位为工程实战书籍类型,可以帮助大家解决工程与项目实际技术问题。OpenCV是英特尔开源出来的计算机视觉框架,有着十分强大的图像与视频分析处理算法库。借助OpenCV框架,Android程序员可以在不关心底层数学原理的情况下,解决人脸检测、OCR识别、AR应用开发,图像与视频分析处理,文本处理等Androd开发者经常遇到问题,考虑这些真实需求,本着从易到难的原则,列出了提纲,得到机械工业出版社 杨绣国编辑 肯定与大力支持,于是才有《OpenCV Android开发实战》一书的写作与出版。

谷歌2008年10月发布了第一款搭载Android系统的手机, 从此Android系统在移动端与嵌入式终端大显神威,占据了移动操作系统市场的半壁江山,市场需求爆炸式增长,大量Android开发人员出现,形成了庞大的Android开发者生态与体系,经过十年发展,Android操作系统与开发者队伍已经从当初的注重量转为注重质。Android开发人员也面临技术栈老化、工作七年之痒,技术方向选择,职业发展瓶颈等难题。计算机视觉作为人工智能的分支学科之一、符合未来科技发展方向,OpenCV是开源的可以商业应用的最流行的计算机视觉框架,包含了3000多个算法实现,其SDK支持Java、C++、Python等编程语言,支持Windows系统、Linux系统、Android系统、Mac系统。未来随着5G手机的发布与普及,移动端必然是大量应用场景要借助于手机摄像头与实时视频内容分析与处理,OpenCV在这两个方面有得天独厚的技术优势,Android开发人员唯有不断学习,跟上时代步伐,方可获得职业生涯的进一步发展。OpenCV计算机视觉就是“天高任鸟飞、海阔凭鱼跃”广阔天地,是Android开发者技术方向追求、走向人工智能技术的第一站。特别期待能与广大OpenCV与Android开发者成为朋友,期待各位读者的阅读反馈与提问交流,读同一本书,写不同的技术人生、知其道、得其术

附图书目录:

第1章OpenCV For Android框架

1.1 OpenCV是什么

1.1.1 OpenCV框架历史与发展现状

1.1.2 核心模块与功能介绍

1.1.3 OpenCV4Android SDK介绍

1.2 OpenCV4Android开发环境搭建

1.2.1 OpenCV4Android SDK下载与导入

1.2.2 环境搭建

1.2.3 代码测试

1.3 构建一个OpenCV演示APP应用

1.4 拍照与选择图片

1.5 小结

第2章Mat与Bitmap对象

2.1 Mat对象

2.2 Android中Bitmap对象

2.3 基础形状绘制与填充

2.2.1 基于Mat的绘制与填充

2.2.2 Bitmap上的绘制与填充

2.4 Mat与Bitmap转换与使用

2.5 小结

第3章Mat像素操作

3.1 OpenCV Mat中操作像素的方法

3.1.1 Mat的类型与get、put方法

3.1.2 如何正确循环操作每个像素点

3.2 图像通道与均值方差计算

3.3.1 – 通道分离与合并、计算均值与标准方程, 使用均值与标准方程过滤空白图像

3.3 像素操作经典例子-调整图像亮度与对比度

3.4 两张图像混合

3.5.1 - 直接的像素相加

3.5.2 - 基于权重的像素相加

3.5 Mat的其它各种像素操作(包括取反、逻辑操作、平方根等)

3.6 小结

第4章 图像操作

4.1 模糊

4.2 统计排序滤波器

4.2.1 - 中值滤波

4.2.2 - 最大最小值滤波

4.3 边缘保留滤波器

4.3.1 - 双边滤波

4.3.2 - 均值迁移滤波

4.4自定义滤波

4.5形态学操作

4.6 阈值与自适应阈值

4.6.1 阈值(介绍5种阈值方法)

4.6.2 自适应阈值(介绍两种自适应阈值方法)

4.7 小结

第5章 基本特征检测

5.1 梯度算子

5.2 拉普拉斯算子

5.3 Canny边缘检测

5.4 霍夫直线检测

5.5 霍夫圆检测

5.6 轮廓检测与绘制

5.7.1 - 轮廓检测与绘制轮廓

5.7.2 - 绘制轮廓外接矩形与圆

5.7.3 - 绘制最小外接矩形

5.7 轮廓分析

绘制外接矩形、最小外接矩形、横纵比、面积、轮廓周长等

5.8 图像直方图

5.8.1 - 计算直方图

5.8.2 - 直方图均衡化

5.8.3 - 直方图比较

5.8.4 - 直方图反向投影

5.9 模板匹配 (介绍常见的图像模板匹配算法)

5.10 小结

第6章 特征检测与匹配

6.1 Harr角点检测

-(Harr角点特征检测原理与相关API使用介绍)

6.2 Shi-Tomasi角点检测

- (Shi-Tomasi角点检测原理与相关API使用介绍)

6.3 SURF特征检测与匹配

- (SURF特征提取的步骤与特征描述子)

6.4 SIFT特征检测与匹配

- (SIFT特征提取的步骤与特征描述子)

6.5 Feature2D中检测器与描述子

- BRISK

- ORB

- AKAZE

6.6 特征匹配查找已知对象

(跟特征匹配结果在一张图中寻找已知对象并把对象轮廓标记出来)

6.7 级联分类器与人脸检测

- LBP级联分类器

- Harr级联分类器

-应用级联检测器实现人脸检测

6.8 小结

第7章 使用相机

7.1 使用JavaCameraView(介绍OpenCV4Android 自带的调用摄像头功能组件)

7.2 横屏与竖屏显示(探讨横屏与竖屏显示问题)

7.3 处理相机预览帧图像 (实现对预览帧的处理,同时知道过多的JNI方式调用OpenCV API会导致性能问题)

7.4 在预览帧中实现人脸检测(实现一个实时的人脸检测例子,技术思路剖析与编码实现步骤,介绍NDK开发方式)

7.4.1 – NDK支持开发配置

7.4.2 –本地方法定义与OpenCV C++代码编写

7.4.3 –Java中的代码实现与运行演示

7.5 小结

第8章OCR识别

8.1什么是OCR

8.2开源OCR框架Tesseract (介绍Tesseract-OCR框架在Android 系统上的使用、完成第一个测试用例代码)

8.3 识别身份证号码

- 8.3.1 UI编码(讲解调用相机拍照与显示)

- 8.3.2 位置寻找(讲述如何通过OpenCV实现身份证号码位置准确定位,基于模板匹配技术和特征匹配技术)

- 8.3.2 使用Tesseract-OCR API识别

8.4 提高OCR识别率

- 8.4.1 训练自定义数据 (讲述在Tesseract-OCR如何训练自定义数据)

- 8.4.2 图像预处理(讲述如何通过OpenCV实现偏斜校正、噪声干扰去除,边线去除,来减低干扰,提高识别率)

8.5小结 (总结本章所讲内容)

第9章 人脸美颜

9.1 积分图计算(介绍图像积分图算法)

9.2 基于积分图像的局部均方差滤波(详细介绍在OpenCV中如何实现自己的算法)

9.3 遮罩层生成(详细讲解与代码演示实现,)

9.4 高斯权重融合(详细讲解与代码演示实现)

9.5 边缘提升(详细讲解与代码演示实现,)

9.6 美颜实现(NDK层详细讲解与代码演示实现,)

9.7 小结(讲述了移动应用中常见的人脸磨皮美容算法实现步骤与细节,完整了整个美容算法、是对图像处理知识的这运用)

第10章 人眼实时跟踪与渲染

10.1界面显示与相机预览

10.2 人脸检测与跟踪

10.3寻找眼睛候选区域

10.4 眼睛检测(使用级联分类器检测眼睛)

10.5 寻找黑眼球

10.6 渲染与优化

10.7 小结

原文发布于微信公众号 - OpenCV学堂(CVSCHOOL)

原文发表时间:2018-07-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

本周必看 | 7月ML&Python 最佳开源项目Top 10 :从几百个项目中脱颖而出,都在收藏!

【导读】七月就要结束了,在即将到来的 7 月最后一个周末,人工智能头条为大家整理了本月 ML 和 Python 最受欢迎的十大开源项目。就算放假在家也可以知道大...

13230
来自专栏机器之心

斯坦福提出机器学习开发新思路:无Bug的随机计算图Certigrad(已开源)

选自Github 机器之心编译 参与:李泽南、蒋思源 在实践中,机器学习算法经常会出现各种错误,而造成错误的原因也经常难以找到。近日,斯坦福大学的研究者提出了...

29170
来自专栏PPV课数据科学社区

【学习】推荐算法实践

前言 推荐系统并不是新鲜的事物,在很久之前就存在,但是推荐系统真正进入人们的视野,并且作为一个重要的模块存在于各个互联网公司,还是近几年的事情。 随着互联网的深...

30030
来自专栏新智元

【揭秘】美团如何用机器学习优化推荐系统算法

本文介绍了美团网推荐系统的构建和优化过程中的一些做法,包括数据层、触发层、融合过滤层和排序层五个层次,采用了HBase、Hive、storm、Spark和机器学...

45160
来自专栏美团技术团队

美团技术团队博客:推荐算法实践

前言 推荐系统并不是新鲜的事物,在很久之前就存在,但是推荐系统真正进入人们的视野,并且作为一个重要的模块存在于各个互联网公司,还是近几年的事情。 随着互联网的深...

529110
来自专栏新智元

第一个手机端分布式深度学习系统,设计自动化顶会 DATE 最佳论文

【新智元导读】欧洲最大的设计自动化会议 DATE 昨天在瑞士洛桑召开。杜克大学陈怡然教授组关于移动平台深度学习计算的研究荣获嵌入式软件类最佳论文。陈怡然等人提出...

50280
来自专栏AI研习社

机器学习开发者应该收藏的 DIY 计算机视觉和深度学习项目

受到 Akshay Bahadur 所做伟大工作的鼓舞,在这篇文章中你将看到一些应用计算机视觉和深度学习的项目,包括具体实现和细节,你可以在自己的电脑上复现这些...

18930
来自专栏AI研习社

Github 项目推荐 | Tensorflow.js 进化建模

这是 Siraj Raval 在 Youtube 上用 Tensorflow.js 实现Evolution建模的代码。

17340
来自专栏媒矿工厂

HDR关键技术:主要标准介绍

HDR是UHD技术中最重要维度之一,带来新的视觉呈现体验。HDR技术涉及到采集、加工、传输、呈现等视频流程上的多个环节,需要定义出互联互通的产业标准,以支持规模...

50720
来自专栏大数据挖掘DT机器学习

美团推荐算法实践:机器学习重排序模型

本文介绍了美团网推荐系统的构建和优化过程中的一些做法,包括数据层、触发层、融合过滤层和排序层五个层次,采用了HBase、Hive、storm、Spark和...

68460

扫码关注云+社区

领取腾讯云代金券