AndroidStudio集成OpenCV的实现教程
我的环境:
Android Studio Arctic Fox + JDK11 + Gradle 7.0.2 + NDK21 + opencv-4.5.1-android-sdk
代码链接:
1.创建一个Native工程
2.下载OpenCV SDK
3.在Android Studio的cpp目录下新建libs文件夹
将我们下载的OpenCV SDK 这个文件夹“OpenCV-android-sdk\sdk\native\libs” 下的 armeabi-v7a 整个复制到刚才的 libs 文件夹下
4.将 “OpenCV-android-sdk\sdk\native\jni” 路径下的 include 文件夹整个复制到 cpp 文件夹下
5.配置build.gradle
6.配置CMakelists.txt
#目的是为了让CMake找到我们的头文件在哪里,这里是在 cpp/include 这个文件夹下 include_directories(include) #设置系统变量,目的是为了让CMake知道在哪个目录下找到我们的libopencv_java4.so这个库 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}") target_link_libraries( myopencv opencv_java4 #链接libopencv_java4.so,这样在生成的APK中才会有这个so ${log-lib})
7.点击build,发现生成的apk中有我们引入的库
接下来就是运行时会报错
Java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found
原因是在 NDK18 以前采用的是 gcc 编译,NDK18 以后采用的是 clang ,而且 NDK18 以后没有 libc++_shared.so 这个库了,所以在运行时会报错。
解决办法:
在build.gradle中增加一句
arguments '-DANDROID_STL=c++_shared'
这样可以远程获取到 libc++_shared.so 这个库
重新编译后发现 apk 中有了 libc++_shared.so ,而且 apk 可以正常运行
到此这篇关于AndroidStudio集成OpenCV的实现教程的文章就介绍到这了,更多相关AndroidStudio集成OpenCV内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
使用Android studio3.6的java api方式调用opencv
基本环境: Android studio3.6 NDK:r15c(尽量使用该版本) Opencv3.4.1 android sdk 操作: (1)新建工程,选择Empty Activity,工程名为op (2)File->New->Import Module,然后选择自己的java-opencv的相对应路径,比如,D:\Android\OpenCV-android-sdk\sdk\java (3)修改openCVlibrary341下面的build.gradle中的,compileSdkVer
-
Android Studio中使用jni进行opencv开发的环境配置方法
使用jni进行opencv开发可以快速地将PC端的opencv代码移植到手机上,但是如何在android studio下进行配置,网上几乎找不到教程,大多都是eclipse下使用mk文件的方法,找不到使用gradle的方案,摸了几天,总算是摸清楚了. 其实找对了方法,用android studio配置环境要比eclipse简单很多,首先是预先准备的环境: 1.Android studio,官网最新版,我用的是2.3.1: 2.OpenCV4Android,官网最新版,我用的3.2.0: 就这两个
-
基于Android studio3.6的JNI教程之opencv实例详解
基本环境: Android studio3.6 NDK:r14b(尽量使用该版本) Opencv3.4.1 android sdk (1)新建工程OpenCVDemo,选择,一定要选择Native c++类型,最后要选c++14支持. (2)File->Project Structure->SDK Location,设置这3个路径,NDK选择r14b. (3)任意找一张图片,复制到res/drawable. (4)修改布局文件res/layout/ activity_main.xml <
-
使用Android Studio创建OpenCV4.1.0 项目的步骤
一.OpenCV OpenCV(开源计算机视觉库)是一个开源的计算机视觉和机器学习软件库,是一个基于C与C++的跨平台计算机视觉处理库. 二.下载 开发基于Andorid的计算机视觉的应用可以使用OpenCV 4.1.0-Android SDK: 从官方网站下载 OpenCV 4.1.0 For Android SDK https://sourceforge.net/projects/opencvlibrary/files/4.1.0/opencv-4.1.0-android-sdk.zip/
-
Android+OpenCV4.2.0环境配置详解(Android studio)
仅是个人记录,希望能对有需要的给予一些小小的帮助 首先我们肯定是要去到OpenCV的官网下载对应的SDK,并解压得到文件夹(opencv-4.2.0-android-sdk) 其次是NDK环境搭建(双击shift,输入sdk,找到sdk manager,将下面红色框框勾选安装) 创建项目,我选用的是(并不是只有这一选择) 导入Module File->New->Import Module 路径选择**\opencv-4.2.0-android-sdk\OpenCV-android-sdk\sd
-
Android Studio中配置OpenCV库开发环境的教程
1.下载 进入官网(http://opencv.org/)下载OpenCV4Android并解压.目录结构如下图所示. 其中,sdk目录即是我们开发opencv所需要的类库:samples目录中存放着若干opencv应用示例(包括人脸检测等),可为我们进行android下的opencv开发提供参考:doc目录为opencv类库的使用说明及api文档等:而apk目录则存放着对应于各内核版本的OpenCV_2.4.3.2_Manager_2.4应用安装包.此应用用来管理手机设备中的opencv类库,
-
Android Studio4.0导入OpenCv4.3.0的方法步骤
1.准备环境 Android Studio4.0:官网下载:https://developer.android.google.cn/studio/ (Android Studio安装之前首先需要确认电脑上是否安装好JAVA环境,具体安装可以参考其他大佬,本文不作为重点) OpenCv4.3.0:官网下载:https://opencv.org/ 百度网盘:链接: https://pan.baidu.com/s/1aC2E_LT8yFkyAKgZhcNPbg 提取码: 7bk1 2.新建工程 双击打
-
AndroidStudio集成OpenCV的实现教程
我的环境: Android Studio Arctic Fox + JDK11 + Gradle 7.0.2 + NDK21 + opencv-4.5.1-android-sdk 代码链接: OpenCV 环境搭建 Demo 1.创建一个Native工程 2.下载OpenCV SDK OpenCV SDK 3.在Android Studio的cpp目录下新建libs文件夹 将我们下载的OpenCV SDK 这个文件夹"OpenCV-android-sdk\sdk\native\libs"
-
Python OpenCV快速入门教程
OpenCV OpenCV是计算机视觉中最受欢迎的库,最初由intel使用C和C ++进行开发的,现在也可以在python中使用.该库是一个跨平台的开源库,是免费使用的.OpenCV库是一个高度优化的库,主要关注实时应用程序. OpenCV库是2500多种优化算法的组合,可用于检测和识别不同的人脸,实时识别图像中的对象,使用视频和网络摄像头对不同的人类动作进行分类,跟踪摄像机的运动,跟踪运动对象(例如汽车,人等),实时计数对象,缝合图像来产生高分辨率图像,从图像数据库中查找相似的图像,从使用闪光
-
Visual Studio 2017+OpenCV环境搭建教程
OpenCV环境搭建教程分享,供大家参考,具体内容如下 OpenCV包准备 下载地址:http://opencv.org/downloads.html 在官网上随便找一个Sample: http://docs.opencv.org/3.2.0/examples.html 1: 2: 3:拷贝官网的代码:ffilldemo.cpp 呀!!怎么报这么多错,看看提示原来是无法找到opencv的源文件.那么,少了, 我们就加上吧 添加好了之后又发现: 需要以下设置: 设置后发现还有问题: 设置后发现还是
-
PHP实现微信支付(jsapi支付)和退款(无需集成支付SDK)流程教程详解
之前有写过几篇文章将微信支付和退款: 1.PHP实现微信支付(jsapi支付)流程 2.ThinkPHP中实现微信支付(jsapi支付)流程 3.PHP实现微信申请退款 这几篇都是使用了微信官方给的PHP版本的SDK,进行支付的时候写代码可以省不少事,步骤也挺简化,但是集成SDK有很多坑,很多人说引入的SDK老报错,或者说官方SDK本身有不少错误,改起来很麻烦,也确实挺麻烦的,对于新手搞支付很容易被绕进去,那么今天就来讲讲不集成支付SDK直接调用支付接口实现支付和退款. 前期准备: 1.当然了,
-
VS2019配置opencv详细图文教程和测试代码的实现
摘要: vs2019新鲜出炉,配置opencv又有哪些不一样呢,这个教程将会一步一步的教你如何配置opencv和跑动opencv一个简单的项目. 环境: 系统:win10系统截至20190523版本 opencv版本:3.4.1版本 IDE:宇宙最强IDEA最新版本2019社区版 教程: 1.下载opencv安装包,由于4.0.1版本会出现不同的错误,我们将使用3.4.1版本.官网下载链接:https://opencv.org/releases.html#. 2.下载完opencv安装包后,双击
-
Flyway详解及Springboot集成Flyway的详细教程
Flayway是一款数据库版本控制管理工具,,支持数据库版本自动升级,Migrations可以写成sql脚本,也可以写在java代码里:不仅支持Command Line和java api ,也支持Build构建工具和Spring boot,也可以在分布式环境下能够安全可靠安全地升级数据库,同时也支持失败恢复. Flyway最核心的就是用于记录所有版本演化和状态的MetaData表,Flyway首次启动会创建默认名为SCHEMA_VERSION的元素局表. 表中保存了版本,描述,要执行的sql脚本
-
TensorFlow-gpu和opencv安装详细教程
TensorFlow-gpu 1.安装Anaconda 进入官网(https://www.anaconda.com/) ->get started->Install Anaconda Individual Edition->DownLoad->选择对应版本,这里选择window python3.7 64位,然后一路安装,记得加环境变量 2.打开Anaconda Prompt 执行 pip install tensorflow-gpu 后等待安装完成 3.执行 pip list 查看
-
springboot快速集成mybatis-plus的详细教程
简介 Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发.提高效率而生.这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网.那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA. springBoot快速集成mybatis-plus 一.pom文件引入mybatis-plus依赖 <dependenc
-
SpringBoot集成Nacos的详细教程
一.环境说明 1.CentOS7 2.Jdk1.8 3.Mysql5.7 4.Nacos1.3 5.SpringBoot2.3.1.RELEASE 6.Maven3.6 二.下载Nacos 1.Nacos官网:https://nacos.io/zh-cn/index.html 2.Nacos下载地址:https://github.com/alibaba/nacos/releases/download/1.3.0/nacos-server-1.3.0.tar.gz 三.解压启动Nacos 1.解压
-
springboot集成opencv实现人脸识别功能的详细步骤
前言 项目中检测人脸图片是否合法的功能,之前用的是百度的人脸识别接口,由于成本高昂不得不寻求替代方案. 什么是opencv? OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和Mac OS操作系统上.轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Java.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法. 项目集成步骤 由于项目是放在Linux系统中跑的
随机推荐
- 什么是BNC接头
- Django objects.all()、objects.get()与objects.filter()之间的区别介绍
- 深刻理解Oracle数据库的启动和关闭
- VS2010中呈现控件时出错的解决方法
- Asp.Net实现无限分类生成表格的方法(后台自定义输出table)
- ASP.NET实现推送文件到浏览器的方法
- C#中除去所有在HTML元素中标记
- CI使用Tank Auth转移数据库导致密码用户错误的解决办法
- PHP实现的迷你漂流瓶
- MySQL查询倒数第二条记录实现方法
- JS实现微信弹出搜索框 多条件查询功能
- jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
- C++ 实现哈希表的实例
- SQL 根据汉字获取全拼的代码
- jquery中获取select选中值的代码
- jQuery实用密码强度检测
- UNIX 系统常用管理命令
- Python实现的生成自我描述脚本分享(很有意思的程序)
- C#调用WebService实例开发
- Android自定义View 使用PathMeasure简单模仿系统ProgressBar(四)