您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 基于adtbundleforwindows的AndroidOpenCV安装文档说明
基于adtbundleforwindows-的AndroidOpenCV安装文档说明任薛纪2014-3-25说明:本文档是基于快速搭建android开发平台adtbundleforwindows软件的AndroidOpenCV运行环境搭建,主要参考OpenCV官方文档:,如手动安装eclipse、sdk、adt、cdt等android开发环境,请参考如上的官网文档。官方文档提供了两种AndroidOpenCV的安装方法。方法一:下载TegraAndroidDevelopmentPack(TADP)集成软件包,运行TADP软件包将会在线下载所有的软件包,然后自动安装和配置运行环境(环境变量)。当安装完后,打开eclipse软件,然后按照如下两步来分别导入OpenCVLIbrary和Samples。注意,尽量按照两步导入,否则可能会出现路径找不到问题。1、Import-General-ExistingProjectintoWorkspace-Next-Browse-X:\android\OpenCV-2.4.3.2-android-sdk-tadp(AndroidOpenCV根目录),仅选择OpenCVLibrary,不选择Copyprojectsintoworkspace.)2、Import-General-ExistingProjectintoWorkspace-Next-Browse-X:\android\OpenCV-2.4.3.2-android-sdk-tadp(AndroidOpenCV根目录),选择除OpenCVLibrary的所有Samples,不选择Copyprojectsintoworkspace.3、为每一个项目选择Android平台,选择项目,点击属性,定位Android,从中选择一个Android平台。注意:对于OpenCV2.4.3,项目OpenCVLIbrary的最低平台为Android4.2(即APILevel17),否则会提示编译问题。Sample的Android平台可以低一些。4、如果出现编译问题,需要重复刷新,清理和编译。方法二:基础环境:1、Jdk2、Adtbundleforwindows,该集成软件集成了eclipse、sdk、adt、cdt等软件下载地址:需要的软件1、android-ndk-r8d2、OpenCV-2.4.3.2-android-sdk-tadp环境配置步骤1、解压android-ndk-r8d和OpenCV-2.4.3.2-android-sdk-tadp2、为ndk添加环境变量ANDROID_NDK_ROOT=X:\android\android-ndk-r8d。(MyComputer-Properties-Advanced-Environmentvariables)3、打开eclipse软件,然后按照如下两步(4和5两步)来分别导入OpenCVLIbrary和Samples。注意,尽量按照两步导入,否则可能会出现路径找不到问题。4、Import-General-ExistingProjectintoWorkspace-Next-Browse-X:\android\OpenCV-2.4.3.2-android-sdk-tadp(AndroidOpenCV根目录),仅选择OpenCVLibrary,不选择Copyprojectsintoworkspace.)5、Import-General-ExistingProjectintoWorkspace-Next-Browse-X:\android\OpenCV-2.4.3.2-android-sdk-tadp(AndroidOpenCV根目录),选择除OpenCVLibrary的所有Samples,不选择Copyprojectsintoworkspace.6、为OpenCVLibrary项目选择Android平台,选择项目,点击属性,定位Android,从中选择一个Android平台。注意:对于OpenCV2.4.3,项目OpenCVLIbrary的最低平台为Android4.2(即APILevel17),否则会提示编译问题。7、AndroidOpenCV提供两种使用方法,一种为javaOpenCV,另一种为nativeOpenCV。7.1对应javaOpenCV,不使用ndk。只要保证选择Android平台和OpenCV库,就可以运行。注意,如果OpenCVLibrary编译没有正常编译,则Samples会出现感叹号“!”,由于没有找到OpenCV的依赖库opencvlibrary-2.4.3.jar。7.2对应NativeOpenCV,首先应该保证7.1能够正常通过,然后还需配置ndk,编译c/c++语言。需要对C/C++build的BuilderSettings和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/includeD:\android\OpenCV-2.4.3.2-android-sdk-tadp\sdk\native\jni\include11、要运行AndroidOpenCV还需要在手机设备上安装OpenCV_2.4.2_binary_pack_tegra3.apk和OpenCV_2.4.2_manager.apk安装如下:adbinstallpathtoTADPdirectory/OpenCV-2.4.2-Tegra-sdk/apk/OpenCV_2.4.2_binary_pack_tegra3.apk最简单的Ndk单步调试1、点击项目属性-C/C++Build-BuilderSettings-Buildcommand,使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之外,还会生成gdbobserver,gdb.setup调式文件,如下图:2、在项目的DebugConfiguration中选择AndroidNativeApllication,点击下方Debug,如下图:新建AndroidOpenCV项目步骤1、建立一个名为TestOpenCV的Android项目,项目的位置和AndroidOpenCV在同一个盘符,否则这项目不能够添加OpenCVLibrary,如下图所示:2、将TestOpenCV项目转化为C/C++项目3、继续下一步,注意其中的后两部,为的时候自己配置ndk编辑C/C++程序4、新建jni文件夹,将OpenCVTutorial4-MixJava+NativeOpenCV里面jni下面的文件拷贝到新建的文件夹中。5、添加OpenCVLibrary(如果新建的项目的盘符不在OpenCV所在的盘符,需要拷贝新建项目到AndroidOpenCV的盘符,否则不能够添加OpenCVLibrary)。6、打开jni_part.cpp文件,添加C/C++库和OpenCV库,消除编译错误,如下图,其中内容如下。需要注意的是,官方文档有说明如下:#forNDKr8andprior:${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#forNDKr8bandlater:${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/includeD:\android\OpenCV-2.4.3.2-android-sdk-tadp\sdk\native\jni\include7、修改JNICALL导出函数,格式为:JNIEXPORTvoidJNICALLJava_新建项目报名(“.”用”_”代替)_调用Class名_FindFeatures(JNIEnv*,jobject,jlongaddrGray,jlongaddrRgba);如:JNIEXPORTvoidJNICALLJava_com_example_testopencv_MainActivity_FindFeatures(JNIEnv*,jobject,jlongaddrGray,jlongaddrRgba);8、将OpenCVTutorial3-AddNativeOpenCV项目里面的Sample3Native.java文件内容拷贝到MainActivity.java,同时去掉错误。9、修改System.loadLibrary(mixed_sample);10、将OpenCVTutorial3-AddNativeOpenCV项目里面的tutorial3_surface_view.xml文件复制到新建项目对应的layout文件夹中11、配置ndk,如下两图13、修改Android.mk文件,修改引入OpenCVLibrary的路径include../sdk/native/jni/OpenCV.mk14、修改AndroidManifest.xml文件,添加如下权限uses-permissionandroid:name=android.permission.CAMERA/uses-featureandroid:name=android.hardware.cameraandroid:required=false/uses-featureandroid:name=android.hardware.camera.autofo
本文标题:基于adtbundleforwindows的AndroidOpenCV安装文档说明
链接地址:https://www.777doc.com/doc-2533361 .html