Android OpenCV配置不使用OpenCVManager

简介: 如果不会Android Studio中生成.so文件,请先查看Android JNI Windows配置OpenCV官网下载Android版SDK进入官网之后左下角有OpenCV 3.3蓝色字体,不一定是3.3, 这只是版本信息,点进去之后可以在最下方下载Android版的SDK。

如果不会Android Studio中生成.so文件,请先查看Android JNI Windows配置

  1. OpenCV官网下载Android版SDK
    进入官网之后左下角有OpenCV 3.3蓝色字体,不一定是3.3, 这只是版本信息,点进去之后可以在最下方下载Android版的SDK。

  2. 下载之后的目录结构

img_91a9ba96d7746cb74f198535da010f9c.png
图1.png
  • apk:OpenCV Manager apk的存放目录(根据不同cpu型号有不同的apk请根据自己的机器cpu型号来对应,一般v7a的就好了)。
  • samples:opencv代码案例里面包括了人脸检测和其他。
  • sdk:包括了sdk和lib包。
  1. 用Android Studio直接导入人脸检测demo--face-detection
    注:
    (1)demo是eclipse的,导入的时候可能会有问题,但是应该是很容易解决的;
    (2)一定要导入import moudule opencv java库。

导入之后先去解决compileSdkVersion和targetSdkVersion问题并同步。目录结构如下:


img_4e70262a180ce547ac49a5f35d3b8dc1.png
图2.png
  1. 配置NDK
    (1)在项目根目录下的gradle.properties中添加
    android.useDeprecatedNdk=true
    如果没有gradle.properties,从其他项目拷贝过来或者自己新建一个都可以。
    (2)在local.properties中添加ndk路径(是你的ndk安装路径)
    ndk.dir=ndk.dir=D\:\\java\\androidstudio\\sdk\\ndk-bundle
    (3)在app的build.pradle中添加
    sourceSets.main {
    jni.srcDirs = ['libs']
    }
    完成后同步工程。

  2. 修改openCVSamplefacedetection/src/main/jni下的Android.mk, 修改后如下

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=SHARED

include C:\Users\Administrator\Desktop\OpenCV-android-sdk\sdk\native\jni\OpenCV.mk

LOCAL_SRC_FILES  := DetectionBasedTracker_jni.cpp
LOCAL_C_INCLUDES += $(LOCAL_PATH)
LOCAL_LDLIBS     += -llog -ldl

LOCAL_MODULE     := detection_based_tracker

include $(BUILD_SHARED_LIBRARY)

修改Application.mk文件如下:

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := all
  1. 复制C:\Users\Administrator\Desktop\OpenCV-android-sdk\sdk\native中的libs文件夹到F:\test\FaceDetection\openCVSamplefacedetection\src\main\jniLibs
img_29a679291e73152eaccfdff34218a2f9.png
图3.png
  1. 进入NDK的安装路径(D:\java\androidstudio\sdk\ndk-bundle>), 执行
D:\java\androidstudio\sdk\ndk-bundle>ndk-build.cmd NDK_PROJECT_PATH=F:\test\FaceDetection\openCVSamplefacedetection\src\main

执行完成后在F:\test\FaceDetection\openCVSamplefacedetection\src\main路径下生成libs文件夹,结构如图:

img_2c2011346372b4b4e24b24ae4d6c76b6.png
图4.png
  1. 将每个文件夹下的libdetection_based_tracker.so文件复制到jniLibs文件夹相对应的文件夹下, 复制完成之后,删除F:\test\FaceDetection\openCVSamplefacedetection\src\main路径下的libs与obj文件夹,否则编译时会出现文件重复错误。

  2. 运行项目。

目录
相关文章
|
5月前
|
开发工具 Android开发 iOS开发
如何在Android Studio中配置Flutter环境?
如何在Android Studio中配置Flutter环境?
1304 61
|
6月前
|
安全 算法 小程序
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
359 28
【03】微信支付商户申请下户到配置完整流程-微信开放平台创建APP应用-填写上传基础资料-生成安卓证书-获取Apk签名-申请+配置完整流程-优雅草卓伊凡
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
8月前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
362 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
8月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
190 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
11月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
1872 3
|
11月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
11月前
|
Java Android开发 Windows
玩转安卓之配置gradle-8.2.1
为安卓开发配置Gradle 8.2.1,包括下载和解压Gradle、配置环境变量、修改配置文件以增加国内镜像,以及在Android Studio中配置Gradle和JDK的过程。
887 0
玩转安卓之配置gradle-8.2.1
|
Android开发
Android 配置蓝牙遥控器键值
本文详细介绍了Android系统中配置蓝牙遥控器键值的步骤,包括查看设备号、配置键位映射文件(kl文件)、部署kl文件以及调试过程,确保蓝牙遥控器的按键能正确映射到Android系统对应的按键功能。
1900 1
|
搜索推荐 Android开发
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?
本文分享了不同价位电脑配置对于编译AOSP安卓系统源代码的影响,提供了从6000元到更高价位的电脑配置实例,并比较了它们的编译时间,以供学习AOSP源代码时电脑配置选择的参考。
1022 0
学习AOSP安卓系统源代码,需要什么样的电脑?不同配置的电脑,其编译时间有多大差距?