本文共 3445 字,大约阅读时间需要 11 分钟。
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开发者技术方向追求、走向人工智能技术的第一站。特别期待能与广大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中检测器与描述子BRISKORBAKAZE6.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什么是OCR8.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 小结购买地址
相关视频课程:
转载于:https://blog.51cto.com/gloomyfish/2136937