在ubuntu系统上,将opencv源码编译到android上

41 篇文章 2 订阅
18 篇文章 0 订阅

有人会说了;

不是 有直接提供android 版本的sdk 包嘛?

干嘛要自己 编译呢?

主要是 因为,刚开始用的那个版本,(opencv 没加contrib 这个包含很多的算法包在里头)

那就自己编译咯

很多人 (博客) 都说了,这个其实不难编译.

那就开始吧

下载源码,opencv  opencv_contrib ,  Android Sdk   NDK  等等; 

下载其他的 比如说这些; (cmake ninja ant)

这都不重要了;

看我的截图:

噢 怎么跟我的不一样呢?

A.是这样的,我解释一下, build 文件呢,是编译x86_64的;也就是pc 机的库;

而今天,所讲的 呢,就是编译android的版本了;

B.是的,你看到的build_android 这个文件夹了;

这个文件,是自己新建的; 待会编译的时候用到;OK

C. 有没有看到platforms 这文件夹

进入;

然后 进入   android 文件夹

 

不知道 有没有看到build_sdk.py 文件

没错,就是这个文件啦

用的是python 解释的;

所以呢...

下面就介绍 怎么运行这个文件:

我写了一个 sh 脚本:

贴上来 给大家:

#!/bin/bash
export OPENCV_DIR=/home/work/opencv-4.1.0
export ANDROID_SDK_PATH=/home/work/Android/Sdk
export ANDROID_NDK_PATH=/home/work/android-ndk-r19c
export OPENCV_CONTRIB_PATH=/home/work/opencv_contrib
export O4A_BUILD_PATH=/home/work/opencv-4.1.0/build_android

echo ${OPENCV_DIR}
echo ${ANDROID_NDK_PATH}
echo ${ANDROID_SDK_PATH}
echo ${OPENCV_CONTRIB_PATH}
echo ${O4A_BUILD_PATH}

cd ${OPENCV_DIR}/platforms/android
./build_sdk.py --ndk_path ${ANDROID_NDK_PATH} --sdk_path ${ANDROID_SDK_PATH} --extra_modules_path ${OPENCV_CONTRIB_PATH}/modules ${O4A_BUILD_PATH} ${OPENCV_DIR}

 

以上几个 脚本中的变量,看上去 的意思  基本上是:

opencv的 路径  opencv_contrib 的路径

sdk  ndk 路径

请 改成你的路径,即可.

 

然后, bash  o4a.sh(上面脚本的名字)

最后,附上 成功编译的图示:

 

附加一些tips:

opencv4.1.0 android生成错误 #14668

将no_samples_build选项添加到Android SDK构建

基于android的opencv4.0.1+opencv_contrib4.0.1编译

 

 

 

 

 

======>望你少走弯路,来自java<=> c++ <==> python徘徊的少年. 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Teleger

你的支持是我前进的方向

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值