依赖条件:
0. Android sdk
1. 支持STL的crystax's patched ndk
2. android-opencv
3. 目前仅在linux 成功创建共享库
我将假设你已经熟悉 android sdk... 请原谅我太懒 :)
android ndk 1.6 不支持大部分的STL去创建本地库,你需要使用一种改进的NDK,地址如下:
http://crystax.net/androidndk.php
我搭建的开发环境是64 位的 Ubuntu 9.10 linux + linux-x86 的crystax ndk
- http://crystax.net/data/android-ndk-1.6_r1-linux-x86-crystax.tar.bz2
只要将它解压并cd到相应目录就可以像往常那样使用ndk了。
ps:还可以使用std::vector<IpPoint> 等.
用git获取 OpenCV-Android(svn也可以)
git clone: git://github.com/billmccord/OpenCV-Android
ln -s <opencv directory> <ndk directory>/apps/opencv
接着从ndk目录做以下的事
make APP=opencv
将生成 opencv共享库....
Ok. 我使用 swig 生成 jni wrappers...如果你没有,就去下载一个swig 。虽然OpenASURF的swig wrappers 已经生成了,但是如果你更改了代码,需要重新运行jni目录中的swig.sh.
在ndk的apps目录中创建一个软链接到 OpenAndroid Surf 目录
ln -s path/to/OpenAndroidSurf/ <ndk>/apps/OpenAndroidSurf
现在就可以在ndk根目录中运行 make APP=OpenAndroidSurf .
这将会在 lib/armabi/ 目录中生成 OpenSURF.lib. 注意还要确保把 opencv.lib复制到该目录下.
祝你好运, 如果有疑问请联系以下邮箱.
ethan.rublee@gmail.com
ethan.rublee - gmail chat
0. Android sdk
1. 支持STL的crystax's patched ndk
2. android-opencv
3. 目前仅在linux 成功创建共享库
我将假设你已经熟悉 android sdk... 请原谅我太懒 :)
android ndk 1.6 不支持大部分的STL去创建本地库,你需要使用一种改进的NDK,地址如下:
http://crystax.net/androidndk.php
我搭建的开发环境是64 位的 Ubuntu 9.10 linux + linux-x86 的crystax ndk
- http://crystax.net/data/android-ndk-1.6_r1-linux-x86-crystax.tar.bz2
只要将它解压并cd到相应目录就可以像往常那样使用ndk了。
ps:还可以使用std::vector<IpPoint> 等.
用git获取 OpenCV-Android(svn也可以)
git clone: git://github.com/billmccord/OpenCV-Android
ln -s <opencv directory> <ndk directory>/apps/opencv
接着从ndk目录做以下的事
make APP=opencv
将生成 opencv共享库....
Ok. 我使用 swig 生成 jni wrappers...如果你没有,就去下载一个swig 。虽然OpenASURF的swig wrappers 已经生成了,但是如果你更改了代码,需要重新运行jni目录中的swig.sh.
在ndk的apps目录中创建一个软链接到 OpenAndroid Surf 目录
ln -s path/to/OpenAndroidSurf/ <ndk>/apps/OpenAndroidSurf
现在就可以在ndk根目录中运行 make APP=OpenAndroidSurf .
这将会在 lib/armabi/ 目录中生成 OpenSURF.lib. 注意还要确保把 opencv.lib复制到该目录下.
祝你好运, 如果有疑问请联系以下邮箱.
ethan.rublee@gmail.com
ethan.rublee - gmail chat