Android之OpenCv

  这几天要在Android平台上实现OpenCv相关的功能,看了几个博客、论文,终于实现了Android上OpenCv开发的一个简单例子。期间遇到了不少大大小小的问题,现总结一下。当然还有很多问题我自己也不是很明白,希望大家不吝赐教。

、准备工作

  1.Windows平台下搭建好Android开发环境

   这里特别提一下Android SDK环境变量的配置(之前做android开发并没有配置SDK环境变量衰,感觉自己好弱啊)

   1.1 和配置Jdk环境变量类似,打开 计算机->属性->高级系统设置->高级->环境变量,在系统环境变量栏目下新建变量"ANDROID_SDK_HOME",并设置变量值为adt-bundle-windows目录下sdk目录的路径,我的是E:\adt-bundle-windows-x86_64_20140101\sdk

   1.2 在path中添加"%ANDROID_SDK_HOME%\tools;%ANDROID_SDK_HOME%\platform-tools".注意分号分隔

   1.3 检查SDK是否配置成功,cmd命令行输入android –h,出现如下结果,表明配置成功

    

  2.Android NDk的安装与配置

  下载地址:https://developer.android.com/tools/sdk/ndk/index.html

  使用最新ndk,直接抛弃cygwin(貌似版本在r7以上),以前做Android的项目要用到NDK就必须要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量,特别麻烦,新版就不需要了。

  如下图是我下载的NDK版本参数

  

  双击该.exe 文件,运行会提示选择解压目录,可以任意解压到某一目录,我选择解压到了E盘根目录下。

    在eclipse中,选择windows->Preference->Android->NDK,然后添加刚才解压的NDK目录的路径,如下图所示

  

  3. 配置OpenCv for android环境

  下载地址:http://sourceforge.net/projects/opencvlibrary/files/opencv-android/(我下载的是OpenCV-2.4.9-android-sdk.rar)

  解压该文件。将解压后的目录下的sdk改名为:OpenCVSdk(可以随意,也可以不改,方便就好)。

  打开eclipse,选择FIle->import,选择Existing project into workspace……导入该sdk工程。该工程师在我们做OpenCv开发时要引用的第三方类库,所以我们要设置其属性:

  

  这种情况下,我们就可以直接调用android为我们封装好的openCv接口进行开发。

二、NDK开发的实例,参照网上资料学习的第一个入门工程。

  新建android工程,命名为TestOpenCv。

  1.新建用于创建本地函数调用的类ImageProc.java 

1 package my.example.ndkopencv;
2 
3 public class ImageProc {
4     public static native int[] grayProc(int[] pixels, int w, int h);
5 }

  2.生成c++头文件

  打开cmd,进入工程所在的目录下的bin/classes目录下,执行com.example.testopencv.ImageProc命令:

  

  此时,在D:\WorkSpace\TestOpenCv\bin\classes目录下生成com_example_testopencv_ImageProc.h文件,将该文件重命名为ImageProc.h。

  3.生成本地jni引用

  项目右键,选择Android Tools->Add Native Support

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。