本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!
android-opencv是opencv在android手机上的移植版,而CVCamera是这个移植版的一个sample。本文主要介绍android-opencv的安装和使用。
-
android-opencv的安装
opencv基于C++,因此android-opencv也必须依赖NDK(android-ndk-r4-crystax)来编译。PS:关于android-ndk-r4-crystax和CYGWIN的安装和使用,本文不再唠叨,详见http://blog.csdn.net/hellogv/archive/2010/12/23/6094127.aspx
安装步骤具体如下:
-
svn checkout http://android-opencv.googlecode.com/svn/trunk/, 下载源码
-
确保在系统Path中包含了D:/cygwin/bin;D:/cygwin/android-ndk-r4-crystax;(存放目录自己决定,Path中必须包含cygwin的bin和android-ndk-r4-crystax的路径)
-
再拷贝android-ndk-r4-crystax到/cygwin/home/GV/android-ndk-r4-crystax,编译android-opencv时需要,编译成功之后可以删除这份拷贝。
-
运行cygwin,来到opencv目录下,输入sh build.sh进行编译,编译成功的话会在/opencv/android/libs/生成armeabi和armeabi-v7a两个文件夹,里面都包含libandroid-opencv.so。
PS:编译的时候提示缺少文件的话,从网上搜索下载。
-
android-opencv的使用
-
打开eclipse ,Import Opencv这个工程,工程位于/opencv/android/ 。PS:如果也提示缺少文件,也需要从网上搜索下载
-
Opencv这个工程编译通过之后,就可以Export它,选择JAVA的JAR file,导出时去掉[obj]和[libs]这两个文件夹,AndroidManifest.xml和default.properties,输出文件名为Opencv.jar,Export设置如下图:
-
下载swigwin-1.3.39,在系统path中加入D:/cygwin/swigwin-1.3.39(存放位置自定),重启
-
打开cygwin,去到/samples/CVCamera/,输入sh build.sh,开始编译CVCamera的JNI,成功编译之后会生成libcvcamera.so
-
把 /opencv/android/libs 复制到/samples/CVCamera/,因为CVCamera同时需要libandroid-opencv.so和libcvcamera.so
-
Import CVCamera这个工程,加入Opencv.jar 这个Libraries
-
编译CVCamera这个工程,生成CVCamera.apk(有6.06MB大小)
CVCamera程序运行截图如下: