2015年,我出版了第一本关于图像处理的书《Java图像处理——编程技巧与应用实践》。本书主要从理论和编码两方面阐述了图像处理的基本算法及其编码技巧。转眼间,三年过去了。在这三年里,我一直关注着图像处理和计算机视觉技术的发展和未来。与此同时,我逐渐萌生了再写一本图像处理相关技术的书的想法。因为《Java图像处理——编程技巧与应用实践》这本书并不是主要针对工程应用场景的,所以读者在学习后很难直接入门。所以,把第二本书定位为实用工程书,可以帮助你解决工程和项目的实际技术问题。OpenCV是来自英特尔的开源计算机视觉框架,拥有非常强大的图像和视频分析处理算法库。借助OpenCV框架,Android程序员可以解决Android开发者经常遇到的人脸检测、OCR识别、AR应用开发、图像视频分析处理、文本处理等问题。,考虑到这些现实需求,本着由易到难的原则,列出了提纲,得到了机械工业出版社编辑杨秀国的肯定和大力支持,因此撰写出版了《OpenCV Android开发实践》一书。
谷歌于2008年10月发布了首款搭载安卓系统的手机。此后,Android系统在移动终端和嵌入式终端上显示出巨大的威力,占据了移动操作系统市场的半壁江山。市场需求爆炸式增长,大量Android开发者出现,形成了庞大的Android开发者生态和体系。经过十年的发展,Android操作系统和开发团队已经从注重数量转变为注重质量。Android开发者也面临着技术栈老化、七年工作、技术方向选择、职业发展瓶颈等问题。计算机视觉作为人工智能的分支之一,符合未来科学技术的发展方向。OpenCV是目前最流行的开源商用计算机视觉框架,包括3000多种算法。其SDK支持Java、C++、Python等编程语言,支持Windows系统、Linux系统、Android系统、Mac系统。随着未来5G手机的发布和普及,移动终端必然会出现大量的应用场景。OpenCV在这两个方面有着独特的技术优势。Android开发者只有不断学习,与时俱进,才能实现事业的进一步发展。OpenCV计算机视觉是“天高海阔”的广阔世界,是Android开发者追求技术方向,走向人工智能技术的第一站。特别期待与OpenCV和Android开发者交朋友,期待读者的阅读反馈和问题交流,阅读同一本书,书写不同的技术人生,了解他们的方式,获得他们的技能。
附于目录:
第一章安卓框架的OpenCV
1.1什么是opencv
1 . 1 . 1 opencv框架的历史和发展现状
1.1.2核心模块和功能介绍
1 . 1 . 3 opencv 4 Android SDK介绍
1.2搭建opencv4 Android开发环境
1 . 2 . 1 opencv 4 Android SDK的下载和导入
1.2.2环境建设
1.2.3代码测试
1.3构建一个OpenCV演示应用程序
1.4拍照选图
1.5总结
第2章Mat和位图对象
2.1垫子物体
2.2 Android中的位图对象
2.3基本形状的绘制和填充
2.2.1基于Mat的绘制和填充
2.2.2位图绘制和填充
2.4垫子和位图的转换和使用
2.5总结
第3章Mat像素操作
3.1在OpenCV Mat中操作像素的方法
3.1.1垫子类型和取放方法
3.1.2如何正确循环每个像素
3.2图像通道和均值方差计算
3 . 3 . 1-通道分离和组合,平均值和标准方程的计算,通过平均值和标准方程过滤空白色图像
3.3像素操作的经典示例-调整图像亮度和对比度
3.4两幅图像的混合
3 . 5 . 1-直接像素添加
3.5.2基于权重的像素加法
3.5 Mat的其他像素运算(包括求反、逻辑运算、平方根等。)
3.6总结
第四章形象经营
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阈值(介绍了五种阈值方法)
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施-托马西角检测
-(施-托马西角点检测原理及相关API用法介绍)
6.3 SURF特征检测和匹配
-(SURF特征提取步骤和特征描述符)
6.4 SIFT特征检测和匹配
-(SIFT特征提取步骤和特征描述符)
6.5特征2d中的检测器和描述符
-LISTING
- ORB
- AKAZE
6.6查找已知对象的特征匹配
6.7级联分类器和人脸检测
-LBP级联分类器
哈利级联分类器
-使用级联检测器的人脸检测
6.8总结
第七章使用相机
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代码实现和Java运行演示
7.5总结
第8章光学字符识别
8.1什么是光学字符识别
8.2开源OCR框架tesserract(介绍tesserract-OCR框架在Android系统上的使用,完成第一个测试用例代码)
8.3身份证号码
-8.3.1 UI编码(说明调用相机拍照显示)
-8.3.2位置搜索(描述如何通过OpenCV,基于模板匹配技术和特征匹配技术实现身份证号码的准确定位)
-8.3.2使用镶嵌-光学字符识别应用编程接口进行识别
8.4提高光学字符识别识别率
-8.4.1训练自定义数据(讲述如何在镶嵌-光学字符识别中训练自定义数据)
-8.4.2图像预处理(描述如何通过OpenCV实现歪斜校正、噪声干扰去除和边缘去除,减少干扰,提高识别率)
8.5总结(总结本章内容)
第九章脸型美
9.1积分图的计算(图像积分图算法介绍)
9.2基于积分图像的局部均方误差滤波(详细介绍如何在OpenCV中实现自己的算法)
9.3掩膜层生成(详细说明和代码演示,)
9.4高斯权重融合(详细说明和代码演示实现)
9.5 Edge推广(详细说明和代码演示实现,)
9.6美颜实现(详细讲解NDK层,实现代码演示)
9.7小结(讲述了移动应用中常见的人脸剥皮美颜算法的步骤和细节,完成了整个美颜算法,是图像处理知识的应用)
第十章人眼的实时跟踪和渲染
10.1界面显示和摄像机预览
10.2人脸检测和跟踪
10.3寻找眼睛候选区域
10.4眼睛检测(使用级联分类器检测眼睛)
10.5寻找黑色眼球
10.6渲染和优化
10.7总结
关注微信官方账号,留言赞前三,免费邮寄新书。
有效期一周(至2018年7月8日24: 00)
人总是成功的,行者总是来的!
1.《android开发实战经典 我为什么要写《OpenCV Android 开发实战》这本书》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《android开发实战经典 我为什么要写《OpenCV Android 开发实战》这本书》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1013678.html