前段时间做了一个失败的图像处理项目,结果虽然不太好,也学到了不少东西,其中关于在Eclipse里如何使用opencv的图片处理api折腾了一阵子,记录一下:
1、Android NDK 配置
其实opencv提供了一些基于android的库,但是个人认为限制很多,需要装个opencv manager应用作为基础服务,而且感觉很多基础类型和函数都没有,可能我也不太熟悉,网上很多关于opencv的帖子都是关于C++的,所以最后还是决定使用ndk开发。
网上很多帖子说要配置Cygwin,其实根本不用,只要NDK用比较新的就可以了,r9以后就不需要配置Cygwin来编译C++文件了,我开始用的是r9d后来换成相对新的r10了。
新建Android工程,然后新建jni文件夹,然后把工程转成C++的,
在项目名称上右键,选择New,选择other,然后输入选择Convert to a C/C++………………
Next,下一步选择非常关键
左边选择Makefile project,然后在右边选择Other Toolchain,我之前配置cygwin,但是这里根本不需要。这里不能选错,因为每个编译工具Eclipse会自动拷贝一些windows系统里的环境变量过来,会出各种奇葩的问题。
因为我已经转过一次了,所以下面这个finish按钮不让点了,选择完以后点击finish即可。
转完以后,打开cpp文件,这个时候如果cpp文件里有c++代码的话,肯定会报很多错误,一切都是正常的。
如果多了,就说明配置得不对,比如如果刚才错选了Cygwin的GCC编译环境,那这里就会有显示Cygwin的环境变量。然后点击add,添加NDK环境变量,命名为NDKROOT,值设置为ndk的路径,路径不要太长,最好不要有中文
点击ok后,选择c/c++ build ,设置编译命令,这里要设置Builder setting里面的Build command和勾选Behavior里对应图中的三个复选框,后面的命令都空着,不要填