android 纯native使用OpenCV

由于需要,要在android应用中使用OpenCV处理图像,于是查找下网络资料,发现网上说的很多并不理想,根据自己实践,总结下。

一、纯Native使用c++开发OpenCV的环境搭配

我使用的Android studio版本为4.1.3,在菜单Tools中的SDK Manager,选择adroid sdk ,右边选择SDK Tools,勾选下面的Show Package Details,加入NDK(Native开发必须),CMake,我的选择如下(版本选一个就行了,我的有几个):

至此,环境就已经搭配好了。

二、下载OpenCV的android SDK,下载地址:

OpenCV/opencv_contrib国内快速下载 

三、建立项目

File--new Project ,选择最下面的Native C++,建立好项目后,自动有了Native支持,其中多了cpp目录,目录下还有native-lib.cpp C++源文件,CMakeLists.txt(CMake文件)。MainActivity类中有引入库的代码,此时直接运行,就能显示一个Hello world from c++,这个字符串就是从native-lib.cpp来的。

static {
        System.loadLibrary("native-lib");
    }

四、引入OpenCV库

这个时候已经完成了Native开发环境搭配,可以开始Native开发了,但是如何引入OpenCV呢?网上很多说要file--new--import module导入android sdk,其实这是使用java编写opencv才需要的,如果想纯native使用opencv开发,是不需要这步的。

1、解压下载的android sdk,把sdk--native--libs下面的四个文件夹复制到项目中,我是在src--main下面建立了一个jni目录,我把它们放jni目录下,这些是so文件,就是OpenCV库了。

2、引入头文件,把sdk--native--jni--include下的opencv2复制到cpp目录下。

OK,行了,但是android怎么知道你导入了这些呢?下面是配置。

3、告知android用到的库位置,在app的build.gradle,注意是app的那个,在android项中加入如下内容,src/main/jni就是我刚才建立的jni文件夹,里面放了so文件。

sourceSets{
        main{
            jniLibs.srcDirs=["src/main/jni"
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值