基于adt bundle for windows-的AndroidOpenCV安装文档说明

基于adt bundle for windows-的AndroidOpenCV安装文档说明

任薛纪

说明:本文档是基于快速搭建android开发平台adt bundle for windows软件的AndroidOpenCV运行环境搭建,主要参考OpenCV官方文档: http://docs.opencv.org/trunk/doc/tutorials/introduction/android_binary_package/android_dev_intro.html,如手动安装eclipse、sdk、adt、cdt等android开发环境,请参考如上的官网文档。官方文档提供了两种AndroidOpenCV的安装方法。

方法一:

下载Tegra Android Development Pack (TADP)集成软件包,运行TADP软件包将会在线下载所有的软件包,然后自动安装和配置运行环境(环境变量)。当安装完后,打开eclipse软件,然后按照如下两步来分别导入OpenCV LIbrary和Samples。注意,尽量按照两步导入,否则可能会出现路径找不到问题。

1、Import->General->Existing Project into Workspace->Next->Browse-> X:\android\OpenCV-2.4.3.2-android-sdk-tadp(AndroidOpenCV根目录),仅选择OpenCV Library,不选择Copy projects into workspace.

2、Import->General->Existing Project into Workspace->Next->Browse-> X:\android\OpenCV-2.4.3.2-android-sdk-tadp(AndroidOpenCV根目录),选择除OpenCV Library的所有Samples,不选择Copy projects into workspace.

3、为每一个项目选择Android平台,选择项目,点击属性,定位Android,从中选择一个Android平台。注意:对于OpenCV2.4.3,项目OpenCV LIbrary的最低平台为Android 4.2(即API Level 17),否则会提示编译问题。Sample的Android平台可以低一些。

4、如果出现编译问题,需要重复刷新,清理和编译。

方法二:

基础环境:

1、Jdk

2、Adt bundle for windows,该集成软件集成了eclipse、sdk、adt、cdt等软件下载地址:http://developer.android.com/sdk/index.html

AndroidOpenCV需要的软件

1、android-ndk-r8d

2、OpenCV-2.4.3.2-android-sdk-tadp

环境配置步骤

1、解压android-ndk-r8d和OpenCV-2.4.3.2-android-sdk-tadp

2、为ndk添加环境变量ANDROID_NDK_ROOT=X:\android\android-ndk-r8d。(My Computer -> Properties -> Advanced -> Environment variables)

3、打开eclipse软件,然后按照如下两步(4和5两步)来分别导入OpenCV LIbrary和Samples。注意,尽量按照两步导入,否则可能会出现路径找不到问题。

4、Import->General->Existing Project into Workspace->Next->Browse-> X:\android\OpenCV-2.4.3.2-android-sdk-tadp(AndroidOpenCV根目录),仅选择OpenCV Library,不选择Copy projects into workspace.

5、Import->General->Existing Project into Workspace->Next->Browse-> X:\android\OpenCV-2.4.3.2-android-sdk-tadp(AndroidOpenCV根目录),选择除OpenCV Library的所有Samples,不选择Copy projects into workspace.

6、为OpenCV Library项目选择Android平台,选择项目,点击属性,定位Android,从中选择一个Android平台。注意:对于OpenCV2.4.3,项目OpenCV LIbrary的最低平台为Android 4.2(即API Level 17),否则会提示编译问题。

7、AndroidOpenCV提供两种使用方法,一种为java OpenCV,另一种为native OpenCV。

7.1 对应java OpenCV,不使用ndk。只要保证选择Android平台和OpenCV库,就可以运行。

注意,如果OpenCV Library编译没有正常编译,则Samples会出现感叹号“!”,由于没有找到OpenCV的依赖库opencv library-2.4.3.jar。

7.2 对应Native OpenCV,首先应该保证7.1能够正常通过,然后还需配置ndk,编译c/c++语言。需要对C/C++ build的Builder Settings和Behavior进行设置。

8、对Jni的编辑,如果打开Jni里面的C/C++程序,将会提示很多错误,而且再也不能够运行该项目了。如下图

10、为了解决此问题,需要指明C/C++基本库的位置和OpenCV的位置,如下图所示,注意的是,可能ndk的环境变量的名称不一样,所以要根据环境变量的名称来替换ANDROID_NDK_ROOT,特别注意的是,OpenCV的路径按照官方文档来做可能不能够作用,如果不行,直接按照计算机路径添加OpenCV的路径。

配置条目如下:

${ANDROID_NDK_ROOT}/platforms/android-9/arch-arm/usr/include

${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include

${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include

D:\android\OpenCV-2.4.3.2-android-sdk-tadp\sdk\native\jni\include

11、要运行AndroidOpenCV还需要在手机设备上安装OpenCV_2.4.2_binary_pack_tegra3.apk和OpenCV_2.4.2_manager.apk

安装如下:

adb install <path to TADP directory>

/OpenCV-2.4.2-Tegra-sdk/apk/OpenCV_2.4.2_binary_pack_tegra3.apk

最简单的Ndk单步调试

1、点击项目属性->C/C++ Build->Builder Settings->Build command,使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之外,还会生成gdbobserver,gdb.setup调式文件,如下图:

  2、在项目的Debug Configuration中选择Android Native Apllication,点击下方Debug,如下图:

新建AndroidOpenCV项目步骤

1、建立一个名为TestOpenCV的Android项目,项目的位置和AndroidOpenCV在同一个盘符,否则这项目不能够添加OpenCV Library,如下图所示:

2、将TestOpenCV项目转化为C/C++项目

3、继续下一步,注意其中的后两部,为的时候自己配置ndk编辑C/C++程序

4、新建jni文件夹,将OpenCV Tutorial 4 - Mix Java+Native OpenCV里面jni下面的文件拷贝到新建的文件夹中。

5、添加OpenCV Library(如果新建的项目的盘符不在OpenCV所在的盘符,需要拷贝新建项目到AndroidOpenCV的盘符,否则不能够添加OpenCV Library)。

6、打开jni_part.cpp文件,添加C/C++库和OpenCV库,消除编译错误,如下图,其中内容如下。需要注意的是,官方文档有说明如下:

# for NDK r8 and prior:

${NDKROOT}/platforms/android-9/arch-arm/usr/include

${NDKROOT}/sources/cxx-stl/gnu-libstdc++/include

${NDKROOT}/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include

${ProjDirPath}/../../sdk/native/jni/include

# for NDK r8b and later:

${NDKROOT}/platforms/android-9/arch-arm/usr/include

${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include

${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include

${ProjDirPath}/../../sdk/native/jni/include

由于我的版本是r8d的,所以选择第二种

${ANDROID_NDK_ROOT}/platforms/android-9/arch-arm/usr/include

${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include

${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include

D:\android\OpenCV-2.4.3.2-android-sdk-tadp\sdk\native\jni\include

7、修改JNICALL导出函数,格式为:

JNIEXPORT void JNICALL Java_新建项目报名(“.”用”_”代替)_调用Class名_FindFeatures(JNIEnv*, jobject, jlong addrGray, jlong addrRgba);

如:JNIEXPORT void JNICALL Java_com_example_testopencv_MainActivity_FindFeatures(JNIEnv*, jobject, jlong addrGray, jlong addrRgba);

8、将OpenCV Tutorial 3 - Add Native OpenCV项目里面的Sample3Native.java文件内容拷贝到MainActivity.java,同时去掉错误。

9、修改System.loadLibrary("mixed_sample");

10、将OpenCV Tutorial 3 - Add Native OpenCV项目里面的tutorial3_surface_view.xml文件复制到新建项目对应的layout文件夹中

11、配置ndk,如下两图

13、修改Android.mk文件,修改引入OpenCV Library的路径

include ../sdk/native/jni/OpenCV.mk

14、修改AndroidManifest.xml文件,添加如下权限

<uses-permission android:name="android.permission.CAMERA"/>

<uses-feature android:name="android.hardware.camera" android:required="false"/>

<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

<uses-feature android:name="android.hardware.camera.front" android:required="false"/>

<uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>

15、注意Android平台的版本,可能由于版本问题导致不提示任何错误,但只显示错误。

时间: 2024-10-11 17:12:01

基于adt bundle for windows-的AndroidOpenCV安装文档说明的相关文章

Windows Server AppFabric 安装文档

安装指南 入门标题页 3 Windows Server AppFabric 安装和配置指南 3 版权 3 版权所有 3 简介 3 清单:规划安装 4 硬件要求 4 使计算机作好安装准备 5 本节内容 5 安装关键的 Windows 更新 5 安装 Windows 更新 6 安装修补程序 6 KB980423 6 安装 .NET Framework 6 安装 Windows PowerShell 2.0 7 为缓存服务配置设置准备共享网络文件夹 8 安装和配置 Windows Server App

OEM12C安装文档

OEM12C安装文档 环境:OEM12.1.0.5 操作系统:CENTOS6.7 ORACLE:11.2.0.3 1.硬件要求 2.软件包要求 ----RHEL6.X OEL6.X版本 for oms make-3.81 binutils-2.20.51.0.2-5.11 gcc-4.4.4 libaio-0.3.107 glibc-common-2.12-1 libstdc++-4.4.4 libXtst-1.0.99.2-3.el6.x86_ 64.rpm sysstat-9.0.4 gli

Linux rhel7 下MySQL5.7怎么 详细安装文档

centos redhat下安装mysql 本文安装MySQL5.7使用的是vm虚拟机rhel7操作系统 ,ftp文件传输是FileZilla3.27,远程连接xssh5.0 1 登录MySQL官网下载mysql,下载地址 https://dev.mysql.com/downloads/mysql/  这里使用的是rpm包安装,下载对应的社区版rpm包,注意的是需要登录甲骨文才能下载,不能只下载mysql-server服务器,因为有依赖关系,得下载下面五个包 2 查看系统是否已经安装了mysql

SAP_ECC6_EHP7_IDES安装文档ORACLE11G+WINDOWS2012 R2 问题总结

SAP_ECC6_EHP7_IDES安装文档ORACLE11G+WINDOWS2012 R2 问题总结 1.注意密码不能带@等特殊符号,否则会报如下错误,因为ORACLE数据是不容许密码带@的.@是一个关键字 2.安装程序权限不足,需要手工创建SAP需要的用户并赋予相应的权限. 否则会报如下错误 解决方案: ①通过命令行方式运行安装程序 C:\soft\EHP7_IDES_SETUP\MASTER\SWPM10SP06_3-20009707>sapinst.exe IS_HOST_LOCAL_U

环境安装文档(for Ubuntu)

这个文档的目标是:各位小伙伴通过这个文档,可以在一台全新的 Ubuntu 电脑上搭建平常开发使用的环境,主要包含 Node.js, git 和 编辑器部分. 这是针对 Ubuntu 系统的安装文档,Windows 文档点击这里. git 和 git GUI git 是一个版本控制工具,我们使用 coding.net 存放 git 的远程仓库. git 已有 git? 在 bash 中查看 git 版本,建议使用 2.10 以后的 git (Windows). $ git --version 安装

mysql安装文档(Linux 官网yum安装版)

mysql安装文档(官网yum安装Linx版) 创建时间:2016-12-20 文档目的 在Linux下安装mysql服务端应用. (注:本文档采用yum库安装方式安装mysql应用,本文假设您的系统中没有安装第三方发布的rpm包,如果您已经安装了第三方rpm包,请参考文中"替换第三方发布mysql"的内容) 系统环境 操作系统:centos 7 (3.10.0-229.el7.x86_64) mysql版本:mysql57-community-release-el7-9.noarch

ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档

ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报  分类: Oracle RAC 版权声明:本文为博主原创文章,未经博主允许不得转载. VBOX + Oracle Linux 6U3 + ORACLE 11.2.0.3.0 RAC 安装 环境: 虚拟机          VIRTUAL BOX OS                ORACLE LINUX 6.3_X86_64

Oracle、pl/sql安装文档

oracle10g.pl/sql安装文档 Oracle在各种管理系统项目中是不可或缺到,pl/sql也是非常好用的图形化管理工具.初学者(我自己就是证明了)经常在这两个工具上消磨宝贵到时间.趁今天有闲,整理下oracle和plsql到安装方式(后附oracle和plsql到安装包),以备后用及方便他人.个人笔记本是win7 64位,实测win8可用. 下载并解压oracle安装包如下图: 右键单击setup.exe,在菜单中选择兼容性疑难解答,弹出新窗口. 选择尝试建议到设置,在跳转到页面中启动

Visual studio 2010不能安装文档

问题:visual studio 2010重新安装过程中不能安装文档,显示无权限获得文档: 点击ok后,冲本地磁盘或者联网安装帮助文档,会出现灰色不可选的安装路径 解决: 通过修改Helplibmanager的配置文件HelpLibManager.exe.config,该文件在目录系统盘下C:\Program Files\Microsoft Help Viewer\v1.0 编辑配置文件 HelpLibManager.exe.config, 修改<add key="FirstTimeRun