掌握在Android平台实现计算机视觉算法的艺术,开发稳健、高效的应用!
◎理解如何利用OpenCV处理图像
◎利用多种高水准的特征匹配算法在图像和视频中检测特定目标,比如SIFT、SURF和ORB
◎执行图像变换,例如改变颜色、空间、缩放,以及应用高斯模糊等滤波器
◎用移动电话的摄像头与现实世界交互
◎在OpenCV Android编程当中探索人脸检测、目标检测和图像拼接
◎利用机器学习算法构建更智能的应用
◎学会调试程序,并理解数据的内部存储方式,以便创造*优的定制算法
《深入OpenCV Android应用开发》以在Android 平台上开发OpenCV 应用为重点,详细介绍了计算机视觉技术的理论及其在移动平台的应用。《深入OpenCV Android应用开发》由浅入深,囊括了从基本的开发环境部署,到基础的图像处理算法,再到目标检测、人脸检测、目标追踪、图像拼接等高级图像分析技术,以及用于图像分类的机器学习算法等各方面的知识。
《深入OpenCV Android应用开发》虽然篇幅不多,但内容十分丰富,从理论到实践,从精辟的数学公式到翔实的源代码,从系统的算法解释到实用的编程技巧,完全能够满足读者从入门到进阶的求知需要。《深入OpenCV Android应用开发》适合于有一定Java 和Android 开发基础,并对计算机视觉技术感兴趣的入门读者,亦可作为从事Android 图像编程的开发人员,以及熟悉OpenCV 开发并有意一试身手的编程爱好者的参考手册。
目录
1 为图像添加效果 1
入门 1
部署OpenCV 2
在OpenCV中存储图像 4
OpenCV中的线性滤波器 5
均值模糊方法 7
高斯模糊方法 13
中值模糊方法 14
创建自定义核 16
形态学运算 17
阈值化 20
自适应阈值 21
小结 22
2 检测图像的基本特征 23
创建应用 23
边缘和角点检测 28
高斯差分技术 28
Canny边缘检测器 31
Sobel算子 33
Harris角点检测 36
霍夫变换 37
霍夫直线 38
霍夫圆 40
轮廓 41
项目――检测图像中的数独 43
小结 45
3 检测目标 47
特征是什么? 47
尺度不变特征变换 49
理解SIFT的原理 49
OpenCV中的SIFT 58
匹配特征与检测目标 60
暴力匹配器 61
基于FLANN的匹配器 61
匹配点 62
检测目标 66
加速稳健特征 66
SURF检测器 67
SURF描述子 68
OpenCV中的SURF 70
ORB 71
oFAST:FAST关键点定向 72
rBRIEF:旋转可知的BRIEF 73
OpenCV中的ORB 75
BRISK 75
尺度空间关键点检测 76
关键点描述 77
OpenCV中的BRISK 79
FREAK 80
视网膜采样模式 80
由粗到精的描述子 80
跳视搜索 81
方向 81
OpenCV中的FREAK 81
小结 82
4 深入目标检测:级联分类器 83
级联分类器简介 83
Haar级联分类器 84
LBP级联分类器 85
用级联分类器检测人脸 86
HOG描述子 94
项目――快乐相机 97
小结 98
5 追踪视频中的目标 99
光流法 99
Horn?Schunck方法 100
Lucas?Kanade方法 101
在Android上查看光流场 104
图像金字塔 110
高斯金字塔 111
拉普拉斯金字塔 113
基本的二维变换 120
全局运动估计 121
Kanade-Lucas-Tomasi追踪器 124
查看OpenCV中的KLT追踪器 124
小结 126
6 利用图像对齐和拼接 127
图像拼接 127
特征检测和匹配 128
图像匹配 129
光束法平差 131
自动全景校直 132
增益补偿 133
多频段融合 134
用OpenCV进行图像拼接 134
小结 145
7 OpenCV机器学习使应用焕发生机 147
光学字符辨识 147
k-最近邻算法用于OCR 148
支持向量机用于OCR 158
求解数独 160
识别数独中的数字 160
小结 162
8 疑难解答和最佳实践 163
错误排除 163
权限错误 163
用Logcat调试代码 166
最佳实践 167
在Android中操纵图像 168
在多个Activity之间操纵数据 170
小结 172
9 开发一个文档扫描应用 173
让我们开始吧 174
算法 176
在Android上的实现 177
小结 188