首页
学习
活动
专区
圈层
工具
发布

OpenCV 在 Android 上的应用

OpenCV 介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。...在移动端上使用 OpenCV 可以完成一系列图像处理的工作。 二. OpenCV 在 Android 上的配置 我在项目中使用的 OpenCV 版本是 4.x。...在 Android Studio 中创建一个 Library,将官网下载的 OpenCV 导入后,就可以直接调用 OpenCV 中 Java 类的方法。...例子两则 3.1 作为二维码识别的兜底方案 在 Android 原生开发中,二维码识别有老牌的 zxing 等开源库。为何还要使用 OpenCV 呢?...但是它本身体积也较大,在移动端使用至少会增加 Android Apk 包 10 M+ 的体积(主要取决于 App 要支持多少个 CPU 架构)。

3.4K10

eBPF在android上的使用

对于eBPF可以简单的理解成kernel实现了一个虚拟机机制,将类C代码编译成字节码(后文有详细解释),挂在到内核的钩子上,当钩子被触发时,kernel在虚拟机的"沙盒"中运行字节码,这样既能方便的实现很多功能...BCC在android系统上也可以运行,但是要对系统进行一定程度的修改,后续可能会写单独的文章进行讲解。对于内核开发者我还比较关注怎么自己来实现监控的功能,下文也将做简单的讲解。 ?...eBPF上的名词,来帮忙更好的理解。...1. android系统对eBPF的编译支持 目前android编译系统已经对eBPF进行了集成,通过android.bp就能很方便的在android源代码中编译eBPF的字节码。...Q版本上的节点信息。

6.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    AspectJ在android上的开发

    Android上运用AOP的思想开发,可以快速的帮助我们简化在横向开发中的重复性工作,简单的说就是把涉及到众多模块的某一类问题进行统一管理比如:性能检测、日志打印手机等。...AspectJ实际上是对AOP编程思想的一个实践,当然,除了AspectJ以外,还有很多其它的AOP实现,例如ASMDex、javassist等,但目前最好、最方便的,依然是AspectJ。...//在全局变量中配置编译项以及,对应的log输出 variants.all { variant -> if (!.../Android-AOPExample 熟悉了一遍 补充:Android-AOPExample的例子下载下来,在gradle版本再2.3.0及其以上的版本编译会出现问题 报错误:No such property...:将plugin.project.android.bootClasspath.join(File.pathSeparator) 替换为 android.bootClasspath.join(File.pathSeparator

    2.2K20

    在Android P上使用Http

    前言 不少同学在适配Android P的时候会遇到not permitted by network security policy问题: //使用HttpUrlConnection时遇到的异常 W/System.err...系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行 Android P 系统的安卓设备无论是接收或者发送流量,...在Android P系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,同样地,如果应用嵌套了webview,webview也只能使用...network-security-config> 然后在AndroidManifest.xml...android:networkSecurityConfig="@xml/network_security_config" ... /> 参考链接

    2.9K20

    android程序崩溃后重启

    有时候由于测试不充分或者程序潜在的问题而导致程序异常崩溃,这个是令人无法接受的,在android中怎样捕获程序的异常崩溃,然后进行一些必要的处理或重新启动 应用这个问题困恼了我很久,今天终于解决了该问题...首先捕获程序崩溃的异常就必须了解一下java中UncaughtExceptionHandler这个接口,android沿用了此接口,在android API中: ?...在java API中对该接口描述的更详细: ? 我就不翻译了,太吃力了....%>_<%。...                Looper.loop();                 }            }.start();     return true;         }     }   通过在android...如何杀死异常进程,重启应用,就得使用PendingIntent,这个类是android中对Intent类的包装,具体了解我会在写一篇博客,自己也可以去查看android API。

    2.9K70

    在 Android 上能否运行 Go 服务?

    “Android 既然是 Linux,那我能不能在手机上直接跑一个 Go 服务?” Go 服务在 Android 上能不能跑? 答案是:可以跑,但系统并不喜欢它。...换句话说: 在非 Root 情况下,Go 服务是“能启动,但无法常驻”。 Android 为什么这么做 Android 并不是传统意义上的 Linux 用户空间。...所以 Android 的设计根本上就不支持一个“本地 Go 守护服务”长期运行。 这不是技术难点,而是系统立场。 Root 之后的情况 事情的转折点在于:Root。...一旦设备获得 Root 权限,你就能: 在 /system/bin/ 放置任意可执行文件; 启动守护进程; 修改 init 脚本,在开机时运行你的 Go 服务; 绕过 AMS 对进程的清理。...系统稳定性 Go runtime 占用资源,如果崩溃或内存泄漏,可能影响系统稳定性。

    24810

    ProGuard 在 Android 上的使用姿势

    如果以上还不足以说服您使用 ProGuard,其实移除无用代码和混淆所有名称还有其他更多的优化效果: 在一些版本的 Android 设备上,DEX 代码会在安装或者运行时被编译成机器码。...但是在您激动的跳起来之前,请先继续阅读下去。当您开启 ProGuard 时,在某些非常微妙的情况下会让您的应用崩溃。...而有时候,在 Android 上这些代码的依赖在运行时并不会被真正的调用。让我们看一个真实的例子。 ? 一个项目依赖 OkHttp 3.8.0 构建时的消息。...在某些情况下,ProGuard 的警告确实有助于您发现闪退的罪魁祸首和关于您配置上的其他问题。...tools 目录下(SDK/tools/proguard/proguard-android.txt),但在新版的 SDK Tools 和 Android Gradle 插件版本2.2.0+上,可以在构建时从

    4K40

    在Android上用AI识别物体

    今天我们来看看如何在Android上实现这个功能。 物体识别 物体识别包括两个方面,一个是物体位置识别,划出图片中的物体在什么位置。另一个是物体识别,告诉你这是个什么物体,是人是狗,是桌子还是鸟。...我们把这个网络落地到Android上看看它的效果怎样。 Android导入AI框架 要在Android上使用AI网络,首先需要集成能够解读AI网络的框架。...Google的Tensorflow在Android上做了专门的框架 - Tensorflow-Lite,它能够在移动端上高性能地运算AI模型。...首先需要在app的build.gradle里引入它 dependencies { implementation 'org.tensorflow:tensorflow-lite:1.10.0' } 在Android...需要源码的小伙伴可以在公号回复”物体识别“来获取源码回去研究。 下面是AI app的截图。 ? phone ? laptop

    4.9K60

    04.Android崩溃Crash库之Loop拦截崩溃和ANR

    目录总结 01.能否利用Looper拦截崩溃 02.思考几个问题分析 03.App启动时自动开启Looper 04.拦截主进程崩溃 前沿 上一篇整体介绍了crash崩溃库崩溃重启,崩溃记录记录,查看以及分享日志等功能...03.App启动时自动开启Looper 先从APP启动开始分析,APP的启动方法是在ActivityThread中,在main方法中创建了主线程的Looper,也就是当前进程创建。...实际上queue.next()其实就是一个阻塞的方法,如果没有任务或没有主动退出,会一直在阻塞,一直等待主线程任务添加进来。 当队列有任务,就会打印信息 Dispatching to ......如果主线程发生了异常,就会退出循环,意味着APP崩溃,所以我们我们需要进行try-catch,避免APP退出,我们可以在主线程再启动一个 Looper.loop() 去执行主线程任务,然后try-catch...android.os.Process.killProcess(android.os.Process.myPid()); break;

    1.5K20

    小技巧 | 在 Android Studio 调试应用 (上)

    作为开发者,我们有时会被一些问题所困,导致在调试器中所花费的时间甚至超过了编写代码所用的时间。正因如此,最近我们找机会了解了 Android Studio 团队在提升调试速度方面使用的一些技巧。...您可以点击 Attach Debugger to Android Process 按钮来执行这一操作: 在 Choose Process 弹窗中,选中您希望附加调试器的进程并且点击 OK。...举例来说,在一个正在开发的游戏中,您可能希望在玩家的角色与物体碰撞而耗尽其最后的生命值时停止运行。您在碰撞事件上添加断点,但是这么一来,每次碰撞都会导致运行停止。...这里,在玩家碰撞到一个物体的逻辑基础上,设置一个 player.health == 1 的条件,从而使您可以捕捉到玩家生命值降为 0 前的最后一次物体的碰撞事件。...您也可以通过按住 Alt (在 Mac 上是 Option) 并点击断点,从而更快速地禁用断点。

    2.5K20

    在VirtualBox上安装Android-X86

    比如Genymotion+VirtualBox搭配方案(在我的笔记本上这种方案性能最低,可能因配置而异)、直接用VirtualBox安装Android-X86的iso,或者是直接在Android Studio...本文介绍的是直接用VirtualBox安装Android-X86,虽然是在虚拟机中安装,但是也会有很多不可避免的坑!!! 准备 首先,我们要准备VirtualBox: 官网?...而且这样也最快,能保证新手在不太了解的情况下不出错。选择这一项之后,按下回车键。 选择yes! 耐心等待! 选择Reboot以重启。 划重点 在重启之后,会回到开始的位置 然后我们将其强制退出!...然后你就会看到Android的字母了,慢慢等待即可!后面的就不说了,等到了“开机”,应该就自己会玩了,跟用手机也区别不大! 问题详解 这时候来给大家解释一下,为什么刚才在进入系统之前要修改某些参数!...先来看一张图,我们知道,它是基于Linux内核的,就跟大多数人安装Linux时需要禁用独显一样,你在安装Android-x86时,需要告诉内核,不要设置图形分辨率。

    6.9K22

    Flutter在Windows上搭建Android开发环境

    Flutter 是谷歌基于 Dart 语言开发的一款开源、 免费、跨平台的移动端UI 框架,可以让我们快速的在 Android 和iOS 上构建高质量 App,它最大的特点就是跨平台、 以及高性能。...系统变量找到 Path ,在 Path 环境变量里面增加如下代码: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 注意间隔分号不要重复。 ?...配置完成后,可以在系命令行环境下输入 JAVA,如果不是未识别命令并且有一大堆的东西出来,证明安装配置成功了。 2. 下载安装 Android Studio 点击 安卓官网 进行下载。 ?...Android Studio 中导入运行 Flutter 项目 ? 下载自动化构建工具gradle。 ?...百度搜索:android Gradle 编译时下载依赖失败。

    2K10
    领券