首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenCV3 安卓应用编程:1~6 全

将 Android 设备插入计算机的 USB 端口。 在 Eclipse 中,在包浏览器 选择一个 OpenCV 示例项目。...过滤器之一在相机摘要中的兴趣点或特征周围绘制红色圆圈。 一般而言,兴趣点或特征位于图像的高对比度边缘上。 它们在图像识别和跟踪应用中可能很有用,我们将在本书的后面看到。...相反,如果我们需要任何(前置或后置)摄像头,则原则上可以指定android.hardware.camera.any函数。 但是,实际上,Google Play 在大多数设备上均无法正确识别此函数。...实现依赖于 OpenCV 中的类,因此在加载 OpenCV 库之前,无法实例化它们。...确保您的 Android 设备通过 USB 连接,并且在设备上已打开 Second Sight 应用。 在 DDMS 透视图的设备窗格中,您应该看到您的 Android 设备。 展开它。

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

    使用计算机视觉实战项目精通 OpenCV:1~5

    在开发 Android 应用时,可以直接从 Java 使用 OpenCV,但是结果不太可能像本机 C/C++ 代码一样高效,并且不允许在桌面上运行与移动设备相同的代码。...注意 这个 Android 专案使用摄影机进行即时输入,因此无法在 Android 模拟器上运作。 它需要一个带相机的真实 Android 2.2(Froyo)或更高版本的设备。...OpenCV 的imwrite() Java 函数可用于保存到 PNG 文件,但这将需要链接到 OpenCV 的 Java API 和 OpenCV 的 C/C++ API(就像 OpenCV4Android...要在设备上运行应用,您必须每年以 99 美元的价格购买 Apple 开发者证书。 没有此证书,无法在设备上运行开发的应用。 您还将需要 XCode IDE 的基本知识。...它还具有官方的 Python 绑定和对 Java 和.NET 语言的非官方绑定。 添加 OpenCV 框架 幸运的是该库是跨平台的,因此可以在 iOS 设备上使用。

    2.3K10

    OpenCV | 基于Android系统详析Mat与Bitmap对象(创建、初始化、使用与转换 | 附大量demo)

    在OpenCV4Android的接口封装中,因为Java层面没有指针对象,因此全部用数组来替代; 但是,当我们需要把Mat对象传到JNI层的时候, 可以通过getNativeObjAddr()方法来实现...---- 3.0 首先是OpenCV是在Mat图像上绘制与填充 OpenCV2.xAndroid SDK图形绘制是在Core模块中, 到了OpenCV3.x中,图形绘制就已经移到Imgproc这个模块中了...API相比多了几个参数,绘制椭圆或者弧长的时候需要指定开始与结束的角度, 长轴与短轴大小、中心位置等信息; img:同上; center:表示椭圆的中心位置点屏幕坐标。...} 综上, Android中提供的基于Canvas的API完整地实现了图形绘制功能, 当用OpenCV在Android中做开发时,若需绘制复杂的几何图形或中文文字, 优先选择本地Canvas API...Mat与Bitmap的使用与转换 在Android中使用OpenCV来完成应用开发时经常需要在Mat对象与Bitmap对象之间相互切换; Bitmap是Android中的图像对象,Mat作为OpenCV

    7.1K63

    Android CameraX NDK OpenCV(二)-- 实现Dnn人脸检测

    前言 上一篇《Android CameraX NDK OpenCV(一)--实时灰度图预览》已经把Android下OpenCV的Ndk配置完成,并且实现了实时灰度图的显示,本篇来看看在Android下使用...Dnn的人脸检测在《实践|OpenCV4.2使用DNN进行人脸检测二(视频篇)》文章中已经实现过,不过那个是在Windows平台下的,检测的方式基本就是按那个来的,这次是我们把其的部分代码移植了过来。...GIF动图 视频效果 划重点 从上面的效果很仔细的话可以看到,我们检测人脸到画上红色矩形框时偶尔会有延时的情况,这个在《Android JetPack组件CameraX使用及修改显示图像》中说过,我们在摄像机预览中上层加入了...VIEW,在VIEW中进行绘制的,其实如果不要想这个情况,可以像灰度图显示一样,把整张已经标记好的图片都传回来,然后DrawBitmap把原来的预览图盖住也可以。...还要注意的一点是加载的人脸检测的模型文件,因为要在NDK中加载并初始化,所以在程序中我们要考虑怎么拷模型文件先复制到Android设备本地,然后调用JNI的方法去加载模型文件。 代码部分 ?

    1.8K40

    Android开发笔记(一百三十二)矢量图形与矢量动画

    android:pivotX:指定旋转中心点的横轴坐标。 android:pivotY:指定旋转中心点的纵轴坐标。 android:rotation:指定分组对象的旋转角度。...android:scaleX:指定分组对象在横轴上的缩放比例。取值0.5表示缩小一半,取值2.0表示放大一倍。 android:scaleY:指定分组对象在纵轴上的缩放比例。...android:translateX:指定分组对象在横轴上的平移距离。 android:translateY:指定分组对象在纵轴上的平移距离。...android:trimPathEnd:指定几何路径到哪里结束绘制。取值为0.0到1.0,比如取值0.4表示只绘制前面十分之四的内容,后面十分之六不予绘制。...下面是个支付宝支付成功的动画截图: ? 支付成功动画包含两个形状,首先在外面画个圆圈,然后在圆圈里面画个打勾符号。

    2K20

    我为什么要写《OpenCV Android 开发实战》这本书

    借助OpenCV框架,Android程序员可以在不关心底层数学原理的情况下,解决人脸检测、OCR识别、AR应用开发,图像与视频分析处理,文本处理等Androd开发者经常遇到问题,考虑这些真实需求,本着从易到难的原则...谷歌2008年10月发布了第一款搭载Android系统的手机, 从此Android系统在移动端与嵌入式终端大显神威,占据了移动操作系统市场的半壁江山,市场需求爆炸式增长,大量Android开发人员出现,...计算机视觉作为人工智能的分支学科之一、符合未来科技发展方向,OpenCV是开源的可以商业应用的最流行的计算机视觉框架,包含了3000多个算法实现,其SDK支持Java、C++、Python等编程语言,支持...7.4.2 –本地方法定义与OpenCV C++代码编写 7.4.3 –Java中的代码实现与运行演示 7.5 小结 第8章OCR识别 8.1什么是OCR...) 9.2 基于积分图像的局部均方差滤波(详细介绍在OpenCV中如何实现自己的算法) 9.3 遮罩层生成(详细讲解与代码演示实现,) 9.4 高斯权重融合(详细讲解与代码演示实现

    1.7K30

    使用Python+opencv进行图像处理(一) | 视觉入门

    从本文开始,我们将有一系列关于图像处理和目标检测基础知识的教程。本篇是OpenCV入门教程第一部分,完整的系列教程如下: 1. 理解颜色模型与在图像上绘制图形(图像处理基本操作)。 2....HSV的中轴是色值,HSL的中轴是光量。沿着中心轴的角度,有色调和实际的颜色。与中心轴的距离属于饱和度。转换颜色模型的方法如下。...它可以减少噪音,提取有用的颜色模型,从而简化分类和检测任务。因此,所有上述技术,包括我们稍后将讨论的技术,都是为了帮助模型更容易地实现检测。 三、在图像上绘制图形 让我们在图像上添加一些图形。...那么,首先我们要创建一个窗口并绘制图形。不一样的是这里不是通过指定点绘制图形而是通过点击响应。先试试绘制圆圈。首先创建一个函数,它将用位置和鼠标点击的数据绘制一个圆圈。 # Step 1....把鼠标的位置设置为圆心(x, y),并绘制圆圈。 # Step 2.

    18.8K1011

    Android Ndk and Opencv Development 4

    gedit /etc/profile,在文件末尾添加下面内容 JAVA_HOME=/home/xface/android/jdk1.7.0 export PATH=$JAVA_HOME/bin:$PATH...⑥为了验证环境没有问题,可以尝试新建一个Android Project并运行于移动设备上,虚拟机中eclipse下的项目xfacetest便是用来测试环境是否配置成功的默认Android应用程序,可以尝试插上手机...,选中/home/xface/android/xface/下的OpenCV Library - 2.4.4文件夹,建议勾选Copy projects into workspace(可以防止意外操作导致项目出现问题无法修复时可以删除该项目重新将其导入进来...首先插入设备(手机),如果是在虚拟机中运行,要确保手机是和虚拟机连接的,而不是和主机连接的(可以通过虚拟机右下角状态栏中USB设备按钮或者菜单虚拟机中的USB和Bluetooth进行设置);然后,选中XFace...Exception thrown: " + e); } 最后在摄像头的回调方法onCameraFrame(CvCameraViewFrame inputFrame)中对摄像头得到的图片帧进行人脸检测,将检测出来的人脸方框直接绘制在图片帧上立刻显示出来

    83320

    基于OpenCV和Matplotlib的物体移动可视化

    但是,如果提取的信息是更具数值性质的,并且你希望可视化该信号的时间动态呢? 仅仅在屏幕上显示数值可能无法提供足够的洞察力,尤其是当信号变化迅速时。...在这种情况下,可视化信号的一个好方法是带有时间轴的图表。在本文中,我将向你展示如何结合OpenCV和Matplotlib的强大功能,创建此类信号的实时动画可视化。...首先,让我们使用OpenCV的VideoCapture简单循环显示视频片段。我们只需在视频片段结束时重新开始播放。...我打算绘制两个圆圈,一个用于中心,一个用于球的周长。...主要思想是将图表绘制到内存中的缓冲区,然后在OpenCV窗口中显示该缓冲区。通过手动调用画布的draw函数,我们可以强制将图形渲染到缓冲区。然后我们可以获取该缓冲区并将其转换为数组。

    9410

    【图像处理与OpenCV:技术栈、应用和实现】

    随着计算机硬件性能的提升和深度学习的快速发展,图像处理技术也在不断演进,尤其是OpenCV(Open Source Computer Vision Library)成为了开发者们在图像处理领域的首选工具之一...OpenCV简介 OpenCV是一个开源的计算机视觉库,它包含了丰富的图像处理和计算机视觉功能,支持多种操作系统(如Windows、Linux、macOS)和开发语言(如C++、Python、Java等...它的主要特点包括: 跨平台性:OpenCV支持Windows、Linux、macOS以及移动设备的开发,甚至包括Android和iOS。...haarcascade_frontalface_default.xml') # 检测人脸 faces = face_cascade.detectMultiScale(gray_image, 1.3, 5) # 在图像中绘制人脸区域...(image, None) # 在图像中绘制特征点 image_with_keypoints = cv2.drawKeypoints(image, keypoints, None) cv2.imshow

    8710

    【Java版本OpenCV】无敌OpenCV越学越爽Java版代码持续更新(环境搭建|核心代码)

    特别说明 本文为B站李超老师的无敌Opencv越学越爽Java版代码(个人学习笔记),原视频为python语言讲解的,纯理论知识可直接看视频,实战代码为对应的Java版本,已经跟完B站所有章节,代码后续找时间补到章节名称下...个人感觉有些章节可以忽略的在章节下面做了备注,比如各种环境的安装,java可以直接用免安装的方式运行,所以这几节可以不看,节省点时间 个人感觉最用有的时区域找图,截图桌面图片,再桌面图片里寻找目标图片...,拿到目标点的中心坐标,然后就可以利用Robot来实现各种鼠标键盘操作了,另外还有人脸识别,在桌面区域里面找人脸,就是不知道能不能识别出穿越火线里面的人脸,只要能识别到是不是可以用Robot控制鼠标移动到脑袋中间位置...5-1 OpenCV绘制直线 5-2 OpenCV椭圆的绘制 5-3 OpenCV椭圆的绘制 5-4 OpenCV绘制多边形 5-5 OpenCV绘制文本5-6 OpenCV大作业-实现鼠标绘制基本图形..., new Scalar(0, 0, 0)); // 400x600 大小,3 通道的黑色图像 // 在图像上绘制基本图形 Point center = new Point

    2K10

    Android 自定义倒计时 View

    ,** 注意尽可能的用比例来做,不要用偏移量 5.最后一步,就是绘制 分析下我们这个view我们需要绘制的东西有三层,底层,进度层,文字层, 其中进度层还有一个烦人的小圆圈....Android的知识点涉及,绘制圆,绘制扇形,绘制阴影,Java基础知识 倒计时的实现,Android属性动画知识,还有就是 初中数学Sin和Cos的知识以及球圆上任一点的坐标和坐标系象限的知识 我们都是有精液的...Android开发,以上的知识基本都能搞定,困扰的我的就是那个初中数学的知识,悄悄的告诉你们我也谷歌了这些公式, ok,我们开始一点点绘制 绘制底层和阴影 绘制中间层 的进度和小圆点 ,代码量略大,数学公式来了...,高能预警 终于跳过了上面的计算,下面的就是剩下绘制文字的知识了so easy 我们先计算出来文字的宽度和高度然后计算出来文字的绘制坐标即可 到此我们的Android绘制API全部用完了,就用了一个绘制扇形和圆形的方法..., 下面我们看下Java知识,倒计时的方法; 最后就是一个动画的实现,我们可以理解成进度条在CountDown时间内正好从0-360走完, 那么这个用属性动画就行了 到此,自定义倒计时View结束,由于微信对于代码支持不是很友好

    1.3K90

    Android NDK OpenCV级联方式实时进行人脸检测

    前言 前面的文章《Android通过OpenCV和TesserartOCR实时进行识别》我们已经搭好一个利用NDK方式实时处理摄像头数据的程序了,今天我们就在看看OpenCV中通过级联方式实时进行人脸检测...都无法解决这个问题,所以我换了OpenCV4.1后完全无问题了。等我再研究研究找到解决OpenCV3.4.6的问题后,会专门写一章来说明。...haarcascade_frontalface_alt2.xml 级联检测的数据文件,这个文件是OpenCV已经训练好的数据,我们直接拿来就可以用,文件在OpenCV的源码下的data\haarcascades...找到文件后我们需要把这个文件存放到Android项目的资源文件下,在res下新建一个raw的类型 ? ?...人脸检测方法 转为灰度图 直方图均衡化 多尺度检测detectMultiScale 在源图上绘制检测的矩形 ?

    1.5K40

    Android绘制优化(一)绘制性能分析

    运行Android系统的手机,虽然配置在不断的提升,但仍旧无法和PC相比,无法做到PC那样拥有超大的内存以及高性能的CPU,因此在开发Android应用程序时也不可能无限制的使用CPU和内存,如果对CPU...1.绘制原理 Android绘制View有三个主要的步骤,分别是measure、layout和draw。...如果某个操作要花费24ms,这样系统在得到VSYNC信号时无法进行正常的渲染,会发生丢帧。用户会在32ms中看到同一帧的画面,如下图所示。 ?...使用Systrace Systrace跟踪的设备要在Android4.1版本以上,对于Android4.3版本之前和4.3版本之后使用上有点区别,现在也很少有人用Android4.3之前的版本,因此这里只讲...导致这一问题产生的原因主要是线程在绘制时,在很长一段时间都没有分配到CPU时间片,因此无法继续进行绘制。按m键来高亮该时间段,我们来查看CPU的情况,如下图所示。 ?

    1.7K50

    开发者选项详解

    指针位置 启用显示点按操作反馈可以在您轻触屏幕时显示点按操作反馈。手指或触控笔下会出现一个圆圈,这个圆圈会跟着您在屏幕上移动。当您在设备上录制视频时,点按的作用就像指针一样。...启用指针位置可以用十字准线在设备上显示指针(点按)位置。屏幕顶部会显示一个条形,用于跟踪十字准线坐标(图 6)。在您移动指针时,该条形中的坐标会跟踪十字准线位置,且屏幕上会绘制出指针路径。...其实这个功能就是调用了原生 Android 开发者选项中的「显示点按操作反馈」。 启用显示点按操作反馈可以在手指/触控笔触摸屏幕时显示一个白色的小圆圈,这个小圆圈会跟随手指在屏幕上移动。...在手机上录屏时,这个小圆圈的作用就像鼠标指针一样,起到一个展示具体操作的作用。 绘制 图 7. 界面结构 绘制选项提供了有关应用界面及其操作方式的视觉提示。...调试 GPU 过度绘制:显示设备上的颜色编码,以便您可视化相同像素在同一帧中绘制的次数。可视化会显示您的应用可能在哪里进行了不必要的渲染。

    8.3K10

    用OpenCV加Robot打造Java版按键精灵

    ),在比如游戏辅助,比如读取桌面,在桌面内进行人脸识别找到头部,然后鼠标移动到头部,按下鼠标左键进行射击(不要骂我哦,我没有开挂),再比如完成一些日常任务啥的 所涉及技术 Java中的Robot类是用于模拟鼠标和键盘输入的工具.../lib/opencv/opencv_java490.dll").getAbsolutePath()); } 读取桌面为Mat mat可以理解为图片的矩阵形式 public static Mat...); // 在匹配区域的中心点绘制红色的点 此步骤只为展示效果,可注释掉 Point center = new Point((maxLoc.x + matchLoc.x...// Imgproc.rectangle(src, maxLoc, matchLoc, new Scalar(0, 255, 0), 2); // 在匹配区域的中心点绘制红色的点...Imgproc.rectangle(src, maxLoc, matchLoc, new Scalar(0, 255, 0), 2); // 在匹配区域的中心点绘制红色的点

    31210

    实时识别字母:深度学习和 OpenCV 应用搭建实用教程

    一旦找到轮廓(找到轮廓时,if条件通过),我们用轮廓(蓝色瓶盖)的中心在移动屏幕上绘制。 以下代码也是如此。 ?...上面的代码检查是否找到轮廓,找到了则取其最大轮廓(假设它是瓶盖),使用 cv2.minEnclosingCircle() 和 cv2.circle() 方法在它周围画一个圆圈,并用 cv2.moments...() 找轮廓中心。...最后把中心存储在命名点的双端队列中,以便我们可以将它们全部加入完整轮廓中。 在 frame 和 blackboard 上显示此图形。一个用于外部显示另一个用于将其传递给模型。...注意:我已经写了一个关于设置绘图类型环境的简短教程,它允许我们在绘图应用程序中进行绘制,点击此处以了解最新情况(https://medium.com/@akshaychandra21/tutorial-webcam-paint-opencv-dbe356ab5d6c

    1.7K10
    领券