android studio 调用c++,android studio配置opencv,调用c++,处理图像

一、下载安卓的opencv sdk

这里下载release版的,下载后解压

thum-115d1559900656.png

二、新建工程

三、编写界面布局(工程等下上传到github)

thum-32e61559900425.png

四、添加Module,Android Studio菜单-->File-->New-->Import Module

88f21559902706.png

ed371559902877.png

31c71559902899.png            添加完成

18f01559902961.png

五、加入依赖

88f21559902706.png

f9431559902498.png

0fbb1559903235.png

6bd61559903257.png

此时Sync报错,需要修改文件

c37f1559903355.png

修改opencv目录下的build.gradle中如下几项与app根目录中相同

compileSdkVersion

buildToolsVersion

minSdkVersion

targetSdkVersion

同时修改 apply plugin:

修改后如下:

b3371559903946.png

然后sync一下,如下完成

8cc31559904098.png

此时我们便可以在代码中引入opencv的库了。

c74e1559904303.png

六、 使用C++

/src/main下面建立jniLibs文件夹

fcdd1559900864.png

七、将解压后的 OpenCV-android-sdk\sdk\native\jni\include 目录下的 opencv2文件夹拷贝至工程 /src/main/cpp 里

bc621559901424.png

八、拷贝 OpenCV-android-sdk\sdk\native\libs 目录下的几个 lib文件夹至工程 /src/main/jniLibs 里

7c9e1559901637.png

九、修改CMakeLists.txt文件,添加如下内容

d6a81559902045.png

八、修改target_link_libraries中内容,如下:

0dc21559902120.png

九、native-lib.cpp中便可以引入 opencv 的头文件了

返回opencv版本:

JNIEXPORT jstring JNICALL

Java_example_com_cvdemo_MainActivity_getVersion(

JNIEnv* env,

jobject /* this */) {

std::string version = CV_VERSION;

return env->NewStringUTF(version.c_str());

}

十、java文件中调用,页面点击效果,显示OpenCV版本号

aed91559908156.png

十一、转灰度以及获取轮廓

bbf81559910198.png

56671559910205.png

标签:src,修改,c++,opencv,studio,main,OpenCV,sdk

来源: https://blog.csdn.net/u010227439/article/details/91138211

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519057.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Guns mybatisplus只输出sql不输出结果集

文章目录1. yml配置2. 效果图今天给大家讲一下在数据量特别大的场景下,Guns开源项目怎样实现只输出sql不输出结果集列表。 1. yml配置 mybatis-plus:typeAliasesPackage: cn.stylefeng.guns.modular.system.modelmapper-locations:- classpath*:cn/stylefeng/guns/…

AWS还是Firebase?在移动应用后端应该使用哪个?

作者| Dhananjay Trivedi翻译 | 天道酬勤,编辑 | Carol出品| CSDN云计算(ID:CSDNcloud)我们将按以下顺序比较这两种服务:它们有什么共同点?如何将它们与你的前端集成?它们的优势。它们的价格。创…

Javascript 模块化指北

前言 随着 Web 技术的蓬勃发展和依赖的基础设施日益完善,前端领域逐渐从浏览器扩展至服务端(Node.js),桌面端(PC、Android、iOS),乃至于物联网设备(IoT),其中…

对话鲁直:蚂蚁金服中间件的开源头羊 | 穿山甲专访

谈话中,鲁直反问的“你为什么不开源?”这句话让我印象深刻。-- 老王 二月初春,在西子湖畔的细雨中,我拜访了蚂蚁金服中间件团队,和 SOFA 技术负责人鲁直做了一次深入交谈,更妙的是,鲁直也是负责…

java.net.NoRouteToHostException: Cannot assign requested address

启动脚本 jmeter.sh -n -t test.jmx -l result.jtl参数说明 - h 帮助 -> 打印出有用的信息并退出 - n 非GUI模式 -> 在GUI模式下进行JMeter测试 - t 测试文件 要运行的JMeter测试脚本文件 - l 日志文件 记录结果的文件 - r 远程执行 启动远程服务 - H 代理主机 设置JMete…

与时间赛跑:微盟的数据恢复为什么需要这么长时间

作者| 茹炳晟责编 | Carol出品| CSDN云计算(ID:CSDNcloud)微盟“删库跑路“事件已经过去好几天了,据悉,微盟的服务已经全部恢复,对于新用户,已经能够正常开始所有相关的业务活动了,但…

基于Dockerfile创建一个最简单的docker镜像

试着创建一个docker image, 不在乎实用性和功能,只是对docker 创建image 有个大概的了解,所以有此文章。 文章目录step1. 创建文件夹step2. 进入文件夹step3. 创建Dockerfilestep4. 构建镜像step1. 创建文件夹 mkdir busyboxstep2. 进入文件夹 cd busyb…

阿里开发者招聘节 | 面试题08:NAS(Network Attached Storage)协议NFS和SMB相关问题

为帮助开发者们提升面试技能、有机会入职阿里,云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次将陆续放出(面试题官方参考答案将在专辑结束后统一汇总分享,点此进入答题并围观他…

android studio n3710,英特尔奔腾N3710性能跑分和评测 | ZMMOO

英特尔奔腾N3710 是针对入门级笔记本电脑,它的频率为1.1- 2.56 GHz。由于采用三栅极晶体管的新型14纳米低功耗工艺(P1273),与其前代Bay Trail(例如奔腾 N3520)相比,能效得到了显着提升 。除了CPU内核之外,SoC还提供支持DirectX 11…

淘宝千万级并发架构的十四次演进

责编 | Carol来源 | 架构师技术联盟概述本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原…

linux 15秒 搭建VSFTPD文件服务器

文章目录1. 在线安装2. 创建用户3. 限制用户活动范围4. 添加用户管制5. 关闭匿名访问6. 编辑一个安全文件7. 重新启动vsftpd8. 客户端测试9. 本机测试10. 再次本机测试1. 在线安装 yum install vsftpd2. 创建用户 useradd ftpuser passwd ftpuser3. 限制用户活动范围 vim vs…

阿里开源!轻量级深度学习端侧推理引擎 MNN

AI科学家贾扬清如此评价道:“与 Tensorflow、Caffe2 等同时覆盖训练和推理的通用框架相比,MNN 更注重在推理时的加速和优化,解决在模型部署的阶段的效率问题,从而在移动端更高效地实现模型背后的业务。这和服务器端 TensorRT 等推…

冰雪复古鸿蒙碎片哪里出,冰雪复古:玩法攻略,如何高爆率搞回收!

原标题:冰雪复古:玩法攻略,如何高爆率搞回收!冰冻传说这个手游游戏刚内部测试的时候我就开始玩这个游戏了,第一方面这个游戏全部的装备都是靠打野怪获取的,这点很符合我的喜好,现在分享一些在个…

与时间赛跑:微盟的数据恢复为什么需要这么长时间?

作者| 茹炳晟 责编 | Carol 出品| CSDN云计算(ID:CSDNcloud) 微盟“删库跑路“事件已经过去好几天了,据悉,微盟的服务已经全部恢复,对于新用户,已经能够正常开始所有相关的业务活动了&#x…

linux shell读取配置文件中的内容

文章目录1. 创建conf文件夹2. 创建sftp_conn.conf文件3. 编写读取文件的脚本4. 赋予脚本可执行权限5. 执行脚本6. 获取的信息7. 利用这种方式 举一反三读取sftp服务器配置信息 1. 创建conf文件夹 mkdir conf2. 创建sftp_conn.conf文件 cd conf vim sftp_conn.conf 写入内容 格…

X-Pack Spark归档POLARDB数据做分析

简介 POLARDB数据库是阿里云自研的下一代关系型云数据库,100%兼容MySQL,性能最高是MySQL的6倍,但是随着数据量不断增大,面临着单条SQL无法分析出结果的现状。X-Pack Spark为数据库提供分析引擎,旨在打造数据库闭环&am…

阿里云Kubernetes服务上使用Tekton完成应用发布初体验

Tekton 是一个功能强大且灵活的 Kubernetes 原生开源框架,用于创建持续集成和交付(CI/CD)系统。通过抽象底层实现细节,用户可以跨多云平台和本地系统进行构建、测试和部署。 本文是基于阿里云Kubernetes服务部署Tekton Pipeline&…

在线教育如何应对流量洪峰?阿里云专家:上云+云数据库是最佳路径

2月中下旬原本是全国各地春季学期开学的日子,但这场突如其来的疫情使得1.8亿中小学生只能纷纷在家开启“停课不停学”的学习生活,而线上教育也顺势成为了这一特殊时期首选的学习方式。 但突如其来的流量洪峰,却让许多线上教育平台力不从心。…

适用于ios和android,适用于iOS和Android的OpenGL ES差异

我有一个适用于iOS和Android的OpenGL ES应用程序.大多数代码是很久以前由另一个人编写的,现在我必须维护它. OpenGL的使用看起来相当简单(游戏是2D,只使用纹理精灵以简单的方式).但我发现iOS和Android的图形代码实现存在两个主要差异:1)iOS代码包含以下代码&#xf…

linux 统计当前目录下文件或者文件夹的数量

文章目录一、文件1. 统计当前目录下文件的数量(不包括子文件夹中的文件)2. 统计当前目录下文件的数量(包括子文件夹中的文件)3. 查看特定目录内的文件数量二、文件夹2.1. 查看当前目录内的目录数量(不包含子目录中的目录)2.2. 查看当前目录内的目录数量(包含子目录中的目录)ls …