android studio 使用fastcv环境搭建

        要在手机上使用图像处理,OPENCV跑的有点慢,听说fastcv对ARM进行了专门的优化,因此着手改用fastcv来进行部分函数替换。第一步搭建环境搞了好久。

        fastcv官网上是使用Eclipse作为开发环境,无奈Eclipse用的越来越少,自己已经换很长时间才搭建好android studio的环境,不想再折腾一边了,只能试着用android studio来搞了。

        1。装好该装的,使用fastcv就是使用JNI,按照网上搜索的JNI环境搭建,把JNI环境搭好。参考文章:https://www.cnblogs.com/yishujun/p/5489536.html

         2。创建Native C++工程。Native C++工程可以自动会自动生成CMakelists文件和c++文件,可以直接使用编译,如果能够正常编译证明工程搭建好了。

         3。将fastcv的lib文件和h文件考到工程。将fastcv.h拷贝到CPP目录下。lib文件拷贝到特定目录,这个特定目录很关键。后续会有说明。

          4。修改CMakelists.txt。增加如下内容:

添加fastcv库,静态库,导入
add_library(fastcv STATIC IMPORTED)

设置库目录
set_target_properties(fastcv PROPERTIES IMPORTED_LOCATION
        ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${CMAKE_ANDROID_ARCH_ABI}/libfastcv.a
        )

${CMAKE_CURRENT_SOURCE_DIR} 目录为cpp文件所在的目录

${CMAKE_ANDROID_ARCH_ABI}为编译的类型,这个很关键,如果缺少这个编译肯定会报链接错误

这个在app目录下的build.gradle的defaultConfig节点的ndk决定的,如果没有可以添加。

ndk{
    abiFilters "arm64-v8a", "armeabi-v7a"  
}

        android studio自动会编译四种体系架构的文件,如果不制定架构,只能有一种架构能够链接成功,其它几种肯定会找不到函数的。

        只要将.a 文件放到libs下面的arm64-v8a目录和armeabi-v7a目录内就可以了。不能添加x86和x86_64,两者都是so文件不是libfastcv.a。因此也链接不到。

        做完这些就可以愉快的调用fastcv的函数了。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值