Opencv4Android摆脱OpenCV manager.apk的安装

Android使用OpenCV免安装Manager 1,下载OpenCV的,Android的SDK:HTTPS://opencv.org/opencv-3-4-1.html apk:OpenCV Manager apk的存放目录(根据不同cpu型号有不同的apk请根据自己的机器cpu型号来应,一般v7a的就好了)。 samples:OpenCV的代码案例里面包括了人脸检测和其他。 SDK:包括了SDK和LIB包。 2,导入测试工程 使用... 阅读详情

我们知道,在Android手机上利用Opencv来进行相关开发的时候,除了要安装自己的应用外,还要安装一个apk-----OpenCV manager.apk。这样就造成很差的用户体验,所以,本文将教会大家怎么摆脱这个困境。

不知道大家有没有发现,在这个路径:./sdk/java/bin/aidl/org/opencv/engine/中有一个aidl文件 OpenCVEngineInterface.aidl,它里面是这么定义的:

package org.opencv.engine;

/**
* Class provides a Java interface for OpenCV Engine Service. It's synchronous with native OpenCVEngine class.
*/
interface OpenCVEngineInterface
{
    /**
    * @return Returns service version.
    */
    int getEngineVersion();

    /**
    * Finds an installed OpenCV library.
    * @param OpenCV version.
    * @return Returns path to OpenCV native libs or an empty string if OpenCV can not be found.
    */
    String getLibPathByVersion(String version);

    /**
    * Tries to install defined version of OpenCV from Google Play Market.
    * @param OpenCV version.
    * @return Returns true if installation was successful or OpenCV package has been already installed.
    */
    boolean installVersion(String version);

    /**
    * Returns list of libraries in loading order, separated by semicolon.
    * @param OpenCV version.
    * @return Returns names of OpenCV libraries, separated by semicolon.
    */
    String getLibraryList(String version);
}


很明显,Opencv4Android SDK是通过aidl文件来与OpenCV manager这个应用进行跨进程通信。

其实,Opencv manager这个应用为我们自己开发的应用提供了库支持。利用adb命令,进入OpenCV manager应用包的lib路径查看一下:

在lib目录下有文件:libopencv_java3.so这个动态链库。如下图,我们以module的方式将Opencv sdk和lib下的库导入到我们的工程中:


然后在程序中进行加载调用:

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            switch (status) {
                case LoaderCallbackInterface.SUCCESS: {
                    Log.i("OpenCV", "OpenCV loaded successfully");
                    mOpenCvCameraView.enableView();
                }
                break;
                default: {
                    super.onManagerConnected(status);
                }
                break;
            }
        }
    };

@Override
    protected void onResume() {
        super.onResume();
        if (!OpenCVLoader.initDebug()) {
            Log.d(TAG, "Internal OpenCV library not found. Using OpenCV Manager for initialization");
            OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_2_0, this, mLoaderCallback);
        } else {
            Log.d(TAG, "OpenCV library found inside package. Using it!");
            mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
        }
        
    }

然后在这个module的build.gradle文件中加入对库的引用:

sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }

BTW:如果在我们自己的应用中加入这些库,势必会导致我们自己的应用变得很大很大,也是一种弊端。但毕竟鱼与熊掌不可兼得,大家都懂。


希望这篇文章对大家有所启发,谢谢!


opencv4android不用安装opencv manager 先将OpenCVLoader.initAsync()注释掉,去Opencv官网下载OpenCV-2.4.10-android-sdk,分别将\OpenCV-2.4.10-android-sdk\sdk\native\libs\armeabi和\OpenCV-2.4.10-android-sdk\sdk\native\libs\armeabi-v7a目录下的libopencv_java.so文件复制到 阅读详情

相关推荐

Android安装openCV库过程

文章中涉及到的专业名词可能表达不够专业,望谅解!! 此博客是完成后的记录,过程截图较少,但描述会非常完善!!! 首先android安装opencv库的的方式有三种(本人借鉴:https://www.cnblogs.com/xiaoxiaoqingyi/p/6676096.html) 本人采用方式一:接入opencv的Java SDK,这种方式opencv已经封装了JNI,我们直接不需要了解C...

hegongxu的博客 3672

opencv4android3.0,android-Opencv 3.0.0 OpenCVEngineInterface

我正在尝试在Android Studio IDE中安装opencv 3.0.0.但是每次导入“ org.opencv.engine.OpenCVEngineInterface”遇到此问题时,IDE都会给我4个错误,例如:Error:(7, 25) error: package org.opencv.engine does not existError:(47, 15) error: cannot ...

weixin_33588445的博客 1819

Android配置OpenCV,不需要安装OpenCV Manager

本文介绍了在Android环境下配置OpenCV的过程,提供必要文件的下载地址,并实现简单调用手机摄像头的操作,本文的方法避免了OpenCV 的 samples中必须安装OpenCV Manager的过程,但app大小变成了6M左右。本文配套源码下载:http://download.csdn.net/detail/cqugao/8648751

cqugao的博客 1832

Android OPenCV 环境配置 <1>

参照网上面的很多关于Android 使用OpenCV的,虽然有一些讲的也比较详细,但是按照套路来,似乎不成功! 搭建环境: Android Studio 2.0 + OpenCV-Android-master.zip(这个是3.0版本的,官网上面可以下载,要下载for Android的版本)+NDK(android-ndk-r10,至少大于等于r9) 使用OpenCV SDK里面的sa

刘志保的博客 4009

android studio + opencv开发,objectMatch摄像头实时处理

又玩了一遍android studio + opencv开发,每次都配置环境很复杂,这次记录在案,以后就不用网上搜了。 搞了老半天,原来是onCreate里面不能定义Mat m = new Mat() 傻逼了! Recommended steps for using OpenCV in Android Studio with OpenCV manager. U

WakaW的博客 3683

紫光PG2L100H平台DDR3 IP核调试实战:从AXI接口到状态机设计的避坑指南

本文详细介绍了在紫光PG2L100H FPGA平台上调试DDR3 IP核的实战经验,重点解析了AXI接口的特殊行为和状态机设计的关键技巧。通过具体代码示例和调试方法,帮助开发者规避常见陷阱,实现高性能DDR3控制器设计,达到1.2GB/s的稳定带宽。

weixin_28717969的博客 218

Android&OpenCv之Android程序加载OpenCv库(二)

好的开始是成功的一半,在第一节中我总结了如何在Eclipse中创建开发带有OpenCv库的Android APP的环境的工作。 本节讲如何在Android程序中加载OpenCv库,以便后续开发工作中调用OpenCv提供的API的接口。 我们知道OpenCv库作为一个.so的库。在Android程序中我们一般是通过System.LoadLibrary(“xxx.so”)来加载.so库的。所以加载

baipeng298的专栏 2514

关于海康网络摄像头使用VLC或者Opencv拉流有延迟的问题

先说结论,我用VLC或者Pyhton opencv直接拉取海康网络摄像头的rtsp流,会有1-2s延时,特别明显。环境:Windows + VLC / Openc-Python。如上面文章介绍,我使用的时候遇到一处错误,需要把代码中的。海康SDK:与网页视频相比,几乎是同步的。上面说的延时,也是与摄像头网页视频相比的。ffplay 去掉缓存:延时1s左右。这两处地方改成左斜杠,才能运行。opencv拉流使用的是。多线程:延时1s左右。

yljxh的博客 4500

fillder抓取https

fillder: tools > options > https 2. actions > Export Root Certificate Manager 将CA证书导出到桌面 3. 打开火狐浏览器:选项 > 隐私与安全 > 证书 > 查看证书 > 证书颁发机构 将桌面的CA证书导入 ...

bus_lupe的博客 505

【域控制器EMC】域控制器EMC设计总结

汇总项目设计当中关于EMC的设计要点,主要从原理设计、Layout、结构、外设部分总结。满足要求的器件和合理的电路能降低电磁干扰;正确的布局、接地、信号路径、屏蔽等可以减少电磁辐射。结构件设计也会对EMC性能产生影响。

weixin_42098658的博客 1259

Transformers在自动驾驶领域的应用(High-level like in scene)

Transformers uses global attention mechanism to capture long-range interaction information. Two core modules in Transformers are Self-Attention and Cross-Attention, which defined asAttn(Q,K,V)=softmax(QK⊤dk)VSelfAttn(X)=Attn(WQX,WKX,WVX)CrossAttn(X,Y)=Attn

qq_39337332的博客 1776

OpenCV Android开发中避免安装OpenCV Manager

开发app过程中,运行前总提示要先安装OpenCV Manager,自己开发还好,

wunghao8的专栏 1868

ABP多租户实现

abp会调用ITenantStore.Find(Guid)方法去查tenant是否存在。要骗过abp就得自己实现ITenantStore并替换原来的实现。abp会自动解jwt里的tenant id,并且尝试验证它。这时候我们之前实现的ITenantStore就可以骗过abp。你要不想骗它也成,反正这个类是可以依赖注入的,你爱咋验证就咋验证。不用open id dict,只用jwt,让abp轻起来。在原来生成jwt的地方加入tenantId。module上也要加DependsOn。

m0_46704355的博客 471

opencv4android开发中避免安装opencv manager APK的方法

、

fabulousli的博客 3020

基于FSL的DTI数据预处理流程

最近在学习处理DTI数据,总结了一份应用FSL做DTI数据预处理的流程与大家交流交流。如果有错误的地方欢迎大家指正!        我用的数据是Philips的数据,如果是GE或者西门子的数据可能会有所不同。   原始数据:包括3DT1数据和高分辨率DTI数据,均是dicom格式。 工具:MRICRON和FSL,所有的命令均在Linux的终端中运行。   1.格式转换:将后缀名为dcm

zaza_zaza的博客 2万+

VBA一键汇总多个工作簿-名称相同的工作表-的指定区域数据

VBA一键汇总多个工作簿-名称相同的工作表-的指定区域数据 日常工作,我们经常需要汇总相同格式的工作簿的某个工作表的数据 如1月业绩、2月业绩。。。。12月业绩等 姓名 数量 数据22 22 数据23 23 数据24 24 数据25 25 数据26 26 数据27 27 数据28 28 数据29 29 数据30 30 数据31 31 数据32 32 数据33 33 数据34

陈表达的博客 5983

解决OpenCv Manager在Android手机上的配置问题

背景: 做实训选的车标识别app,需要用的OpenCv,配置环境就用了好久,然后写了个简单灰度处理的程序,结果在手机上运行的时候,提示需要下载OpenCv Manager,结果根本不行,后来在网上查了一下,其实OpenCv库函数已经打包成APK了,但是他不识别,所以还需要下载OpenCv Manager 没有这个使用的库函数就用不了。 首先: 加上下边这段代码,下边这两个方法就是判断是否已经存在O...

lhh的博客 1701

【WorkBuddy专栏25】如何选择大模型——积分消耗、用途场景、选型决策全指南

【WorkBuddy专栏25】如何选择大模型——积分消耗、用途场景、选型决策全指南

AI人人懂 941

在不安装opencv manager.apk的情况下,调用opencv for android

1,首先将/home/CORPUSERS/28852401/App/android_workspace/OPENCV_SDK/native/libs

drrlalala的专栏 2778

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android Studio 配置OpenCV4.4.0 不用安装OpenCV Manager (泪崩居然用了礼拜天2天的时间居然还没配置成功,今天又看了下配置成功了)

Android Studio 配置OpenCV4.4.0 ,说来惭愧居然用户礼拜天2天的时间呢,期间遇到的问题大致有4个问题 这里我也总结出了最后在列举出来,(可能是新版和之前旧版本不一样的问题按照网上的配置运行总是报错) 这里默认我们的电脑上安装的有android studio 1 首先到OpenCV 官网上点击Releases 下载 库文件 点击直接跳转到releases 跳转 点击进去点击Releases 然后我们在OpenCV4.4.0 选中android 下载之后打开目录

小牧在一直在学习,在前进的道路上大家一起学习,进步。 6254

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

初次在Android上使用OpenCV

使用Eclipse  下载android的opencv sdk,我的是:OpenCV-2.4.9-android-sdk 使用Eclipse --> File --> Import --> Exciting project into workspace --> 选择解压的OpenCV-2.4.9-android-sdk 下的sdk文件夹 --> 选择Opencv Libirary ,勾选Cop

琪花亿草 6524

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

android studio opencv c++ jni环境集成教程 无需opencv manager

背景:c++代码移植到android.  c++代码用到opencv jni库,花了很长时间,希望能帮到大家前期准备:opencv-3.4.1-android-sdk 自行官网下载开始:1. 新建一个support c++ android 项目2. import module 3. 配置gradle和 当前项目一致。4.依赖 5. main 目录下新建jniLibs 文件夹,打开 从opencv ...

ZhenMing_Ma的博客 3033

android opencv 开发怎么实现不安装 manager,OpenCV Manager 在不安装的情况下直接使用OpenCV Library...

相信初学者(正是在下没错了)在学习OpenCV时,时常会一顿操作猛如虎,一跑起来。。。。。嗯?还要我安装附加的Manager App?也就是这句话-----Opencv manager package was not found想了想自己研究的时候装个Manager也到无所谓,可是当需要发布应用时,总不能让人家也去安装吧,于是一顿寻找之下,发现网上大多都是照着Demo直接写if (!OpenCVL...

weixin_42468901的博客 328

opencv4android开发文档翻译第一篇Android OpenCV Manager

OpenCV4Android Reference openCV for android 参考 一.      Android openCV Manager(android openCV 管理器) 内容: 1.   introduction(简介) openCV Manager 是一项向终端设备用户提供针对openCV库文件进行管理的android服务。它允许在同一设备上的不同应用之间共享

浪摆的专栏 2427

不安装opencv manager运行基于android opencv库的apk

去掉onCreate中的加载库初始化代码:RMB.init(MainActivity.this),调整到onResume中,并行修改如下: 代码如下: @Override public void onResume() { super.onResume(); //OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3,

任薛纪的专栏 1万+

Android OpenCV之免安装OpenCV Manager

官方的OpenCV是要配合OpenCVManager这个APK插件才能使用的,这样在做测试和代码调试没什么问题,但是要是用在产品上是很影响用户体验的。我也看了一些其它的博客。但是我明明照着那样改了,但是却没达到想要的效果,所已这里分享一下我的免安装OpenCV Manager经验。 首先去Opencv官网下载SDK 解压SDK,把横线目录下的文件复制到图中as的位置 再在app里的bui...

wawayuchibang的博客 6941
上一篇: 在虚拟机上搭建代理服务器,使用squid
下一篇: Instant Run导致的java.lang.ClassNotFoundException错误
wujushan
博客等级 码龄11年 51粉丝 36原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值