深入OpenCV Android应用开发 中文版 – 第五章代码更新

本书中文版购书链接:京东  当当

英文原版购书链接:亚马逊《Mastering OpenCV Android Application Programming》


        原书所给代码以章为单位,针对的Android版本从API 19到API 21不等,同时使用的OpenCV库版本也有2.4.9和2.4.10两种。本文给出的代码是在原书代码的基础上,针对Android 7.0(API 24)与OpenCV 3.2进行了修改,适当地增加了一些预处理等操作,以使代码整体上更合理。

        原书的完整代码可以在这里获取:https://www.packtpub.com/lcode_download/22299

        更新后的代码托管在GitHub:https://github.com/johnhany/MOAAP/tree/master/MOAAP-Chp5-r3

        关于在Android Studio上配置OpenCV开发环境的方法,请参考《在Android Studio上进行OpenCV 3.1开发》

        本章介绍如何在Android Studio 2上通过OpenCV使用常见的目标追踪算法,涉及的算法有光流法,图像金字塔以及KTL追踪器。关于以上各算法的原理可以参考《深入OpenCV Android应用开发》第五章。


开发环境

        Windows 10 x64

        Android Studio 2.3.3(Gradle 3.3,Android Plugin 2.3.3)

        Android 7.0(API 24)

        JDK 8u141

        OpenCV 3.2.0 Android SDK


代码及简略解释

        1. 创建Android Studio项目,包命名为net.johnhany.moaap_chp5。导入OpenCV-android-sdk\sdk\java到项目中,并为app模块加载模块依赖。

        2. 将app\src\main\java\net\johnhany\moaap_chp5\MainActivity.java文件修改为如下内容:

        3. 修改app\src\main\res\layout\activity_main.xml文件:

        4.app\src\main\java\net\johnhany\moaap_chp5下新建一个HomeActivity.java文件,其内容为:

        5.app\src\main\res\layout下新建一个activity_home.xml文件,其内容为:

        6.app\src\main\java\net\johnhany\moaap_chp5下新建一个PyramidActivity.java文件,文件内容为:

        7.app\src\main\res\layout下新建一个activity_pyramid.xml文件,文件内容为:

        8. 在app\src\main\res目录下创建一个名为menu的Andorid resource directory,再在res\menu中创建一个menu_main.xml文件:

        9. 在app\src\main\res\menu目录下新建一个名为menu_pyramid.xml的文件,其内容为:

        10. 修改app\src\main\res\AndroidManifest.xml文件为如下内容:

        11. 修改app\src\main\res\values\strings.xml文件:

        12. 修改app\src\main\res\values\styles.xml文件:

        13. app\build.gradle文件修改为:

        14. openCVLibrary320\build.gradle文件修改为:

        15. 检查一下项目根目录的build.gradle文件是否为如下内容:


运行效果

        右上角的菜单选择Optical Flow,移动手机时,在画面上局部像素的运动会以下图中的白线表示出来。

        选择KLT Tracker,则程序会在第一帧图像中选取若干追踪点,并在移动镜头时进行追踪。如果追踪点超出画面的范围,就会造成追踪失败,需要再一次点击KLT Tracker开始新的追踪。

3 评论 在 "深入OpenCV Android应用开发 中文版 – 第五章代码更新"

订阅评论
排序:   最新 | 最旧
wpDiscuz