首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Differences between OpenCV JavaCV and OpenCV4Android

/bytedeco/javacv OpenCV,JavaCV,OpenCV4Android (1) JavaCV和OpenCV4Android没有关系 OpenCV是C++版本的开源计算机视觉库;JavaCV...Native层操作摄像头,OpenCV4Android SDK的Samples中提供了一个样例native-activity,这种方式其实是极其不推荐使用的,一方面代码不好写,不便操作;另一方面据说这部分的API...经常变化,不便维护] (1) 关于如何进行和OpenCV有关的摄像头开发 在没有OpenCV library的情况下,也就是我们直接使用Android中的Camera API的话,获取得到的图像帧是YUV...(1) 摄像头使用纯Android Camera API,将YUV格式的数据传入到Native层,转换成RGB(A) 格式,然后调用OpenCV人脸识别算法进行处理,最后将处理结果RGB(A) 格式数据返回给...我测试通过的源码下载 最近发现一个项目也是采用这种方式,而且代码质量较高,可惜的是并没有公开Native层代码,而只是提供了Java层的SDK,详情可见这里 (2) 摄像头使用纯Android Camera API

2.3K40

Java版人脸跟踪三部曲之二:开发设计

API支持 如何开局?...的CamShift算法API时,最重要的入参就是反向投影,每一帧最终都会被转成反向投影,也就是前面提到的用人脸Hue分量的直方图将第X帧转化成色彩概率分布图 反向投影图是用输入图像的某一位置上像素值(多维或灰度...为我们准备好了API(Imgproc.calcBackProject),我们只需准备好API所需参数即可: 有了上面的流程,就能对每帧图片做反向投影,得到人脸在这张图片上的概率分布图,然后用MeanShitf...对CamShift的支持 关于核心功能的理论已经聊得七七八八了,再来看看JavaCV对核心知识点提供了哪些具体的API支持,如下表所示,前面涉及到的关键技术都覆盖到了: 序号 API 作用 1 Imgproc.cvtColor...的摄像头实战》系列,会发现该系列经常用到JavaCV提供的人脸检测功能,因此,咱们继续使用这个人脸检测功能来开局 简单来说,当程序运行后,如果摄像头中出现了人脸,那么该人脸就被自动作为跟踪对象,会被计算

57720

JavaCV的摄像头实战之四:抓图

本篇概览 本文是《JavaCV的摄像头实战》的第四篇,也是整个系列最简单轻松的一篇,寥寥几行代码实现从摄像头抓图的功能; 编码 《JavaCV的摄像头实战之一:基础》一文创建的simple-grab-push...Process finished with exit code 0 打开图片文件所在目录,如下图,图片已经成功生成: 看其中一张的详情也符合预期: 至此,咱们抓图功能完成,接下来请继续关注欣宸原创,《JavaCV...的摄像头实战》系列还会呈现更多丰富的应用; 源码下载 《JavaCV的摄像头实战》的完整源码可在GitHub下载到,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos...该项目源码的仓库地址,https协议 git仓库地址(ssh) git@github.com:zq2599/blog_demos.git 该项目源码的仓库地址,ssh协议 这个git项目中有多个文件夹,本篇的源码在javacv-tutorials...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:

56960

JavaCV的摄像头实战之八:人脸检测

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《JavaCV的摄像头实战》的第八篇,...今后还有人体检测、物体检测等等,所以设计一个检测服务接口DetectService,人脸检测、人体检测、物体检测这些类都是这个接口的实现,如下图所示,对于预览、推流、存文件这个应用的代码,直接使用接口的API...其实这个系列的重点是JavaCV,所以保持代码简单吧,不引入Spring框架了 总的来说,今天的要写的代码如下图所示,绿色块的AbstractCameraApplication类已在《JavaCV的摄像头实战之一...的强大,整个过程是如此的轻松愉快,接下来请继续关注欣宸原创,《JavaCV的摄像头实战》系列还会呈现更多丰富的应用; 本文涉及的所有代码都能在接下来的介绍的GitHub仓库中找到 源码下载 《JavaCV...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:

68120

JavaCV的摄像头实战之十三:年龄检测

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《JavaCV的摄像头实战》系列的第十三篇...,前文《JavaCV的摄像头实战之十二:性别检测》中,借助训练好的卷积神经网络模型开发出了识别性别的应用,今天在前文基础上做少量改动,实现年龄识别的功能,效果如下图: 应用主要功能如下图所示:...如果您看过《JavaCV的摄像头实战》系列的其他文章,就会发现上图中只有蓝色部分是新增内容,其余的步骤都是固定套路,《JavaCV的摄像头实战》系列的每一个应用玩的都是相同套路:别看步骤挺多,其实都是同一个流程...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下: 准备:文件下载 本次实战需要三个文件...AbstractCameraApplication的实现类,本次实战的核心功能人脸检测和年龄检测,都委托给它的成员变量detectService去完成 DetectService.java:检测服务的接口,里面定义了几个重要的api

50620

Java版流媒体编解码和图像处理(JavaCPP+FFmpeg)

FFmpeg、JavaCPP、JavaCV的关系 先简单的梳理一下FFmpeg、JavaCPP、JavaCV的关系: FFmpeg、OpenCV可以理解成C语言版的本地库(Native library)...包装后的API,被JavaCV封装成了工具类(utility classes),这些工具类比原生API更简单易用 简单的说如下图所示,JavaCPP是Native API转Java APIJavaCV...是Java API封装成工具类,这些工具类更加简单易用: 学习目的 欣宸的目标是学习和掌握JavaCV,而深入JavaCV内部去了解它用到的JavaCPP,就相当于打好基础,今后使用JavaCV的时候...父子结构,父工程名为javacv-tutorials,里面有一些jar的版本定义,就不多说了 在javacv-tutorials下面新建名为ffmpeg-basic的子工程,其pom.xml内容如下,可见仅用了...JavaCPP,并未用到JavaCV: <?

1.8K41

自己开发一个电视----流媒体之JavaCV

所以不得不关注这方面的技术,然后各种新词开始满天飞 流媒体、JavaCV、OpenCV、FFmpeg 啥都是啥?我母鸡呀! 然后开始恶补一些知识,身为 Java 的我当然最关注 JavaCV 。...JavaCV 是 OpenCV、FFmpeg 一个封装还是一个牛逼的事,他是跨平台的。FFmpeg 是音视频处理,OpenCV是图像处理和图像识别。...JavaCV 事开源的,这事我们 Java 开发人员最大福利。站在巨人的肩膀上摘葡萄。JavaCV 的地址是 https://github.com/bytedeco/javacv 。...上代码 package xin.zhuyao.voicedemo.examples; import org.bytedeco.javacv.CanvasFrame; import org.bytedeco.javacv.FFmpegFrameGrabber...; import org.bytedeco.javacv.Frame; import javax.swing.*; public class TVExamples { public static

2.4K21

JavaCV的摄像头实战之十二:性别检测

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《JavaCV的摄像头实战》系列的第十二篇...,咱们来开发一个实用功能:识别性别并显示在预览页面,如下图: 今天的代码,主要功能如下图所示: 如果您看过《JavaCV的摄像头实战》系列的其他文章,就会发现上图中只有蓝色部分是新增内容...,其余的步骤都是固定套路,《JavaCV的摄像头实战》系列的每一个应用玩的都是相同套路:别看步骤挺多,其实都是同一个流程 关于性别和年龄检测 使用卷积神经网络推理性别和年龄的更多技术细节,这里有更详细的说明...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下: 准备:文件下载 本次实战需要三个文件...AbstractCameraApplication的实现类,本次实战的核心功能人脸检测和性别检测,都委托给它的成员变量detectService去完成 DetectService.java:检测服务的接口,里面定义了几个重要的api

58520

JavaCV的摄像头实战之五:推流

本篇概览 本文是《JavaCV的摄像头实战》的第五篇,一起来考虑个问题:本地摄像头的内容,如何让网络上的其他人看见?...这就涉及到了推流,如下图,基于JavaCV的应用将摄像头的视频帧推送到媒体服务器,观看者用播放器软件远程连接媒体服务器,就能观看摄像头的内容了: 今天的主要工作就是开发上图的JavaCV应用,然后验证功能是否正常...; 编码 《JavaCV的摄像头实战之一:基础》一文创建的simple-grab-push工程中已写好父类AbstractCameraApplication,本篇继续使用该工程,创建子类实现那些抽象方法即可...的强大,整个过程是如此的轻松愉快,接下来请继续关注欣宸原创,《JavaCV的摄像头实战》系列还会呈现更多丰富的应用; 此刻聪明的您一定发现了问题:只推视频吗?...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:

1.3K70

JavaCV的摄像头实战之十四:口罩检测

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《JavaCV的摄像头实战》系列的第十四篇...最简单的人脸检测(免费调用百度AI开放平台接口)》 现在,如果您完成了百度AI开放平台的注册和申请,那么,现在手里应该有可用的access_token,那么现在可以开始编码了 编码:添加依赖库 本文继续使用《JavaCV...} return faceDetectResponse; } } 服务类写完了,接下来是主程序把整个逻辑串起来 DetectService接口的实现 熟悉《JavaCV...; import org.bytedeco.javacv.Java2DFrameConverter; import org.bytedeco.javacv.OpenCVFrameConverter; import...的摄像头实战》系列的套路,咱们来看看主程序的服务类定义好的框架 《JavaCV的摄像头实战之一:基础》创建的simple-grab-push工程中已经准备好了父类AbstractCameraApplication

79220

JavaCV的摄像头实战之八:人脸识别

本篇概览 本文是《JavaCV的摄像头实战》的第八篇,前面的操作夯实了的帧和流处理的基本功,接下来开始实现一些常见的CV能力,就从本篇的人脸识别开始吧 OpenCV中常用的人脸识别是基于Haar特征的级联分类器...今后还有人体识别、物体识别等等,所以设计一个识别服务接口DetectService,人脸识别、人体识别、物体识别这些类都是这个接口的实现,如下图所示,对于预览、推流、存文件这个应用的代码,直接使用接口的API...其实这个系列的重点是JavaCV,所以保持代码简单吧,不引入Spring框架了 总的来说,今天的要写的代码如下图所示,绿色块的AbstractCameraApplication类已在《JavaCV的摄像头实战之一...的强大,整个过程是如此的轻松愉快,接下来请继续关注欣宸原创,《JavaCV的摄像头实战》系列还会呈现更多丰富的应用; 本文涉及的所有代码都能在接下来的介绍的GitHub仓库中找到 源码下载 《JavaCV...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:

1.5K40

Java版人脸跟踪三部曲之一:极速体验

您还会迸发有很多与欣宸不一样的想法,例如不仅检测人脸,还能带上年龄性别,却不用多次做深度学习推理,又或者,检测出多个人脸,但是只跟踪某人,甚至多人同时跟踪 另外,整个《Java版人脸跟踪三部曲》系列也是《JavaCV...的摄像头实战》系列的一部分,分别是《JavaCV的摄像头实战》系列的的第十五、第十六、第十七篇 本篇概览 本文的目标是快速体验Java版人脸跟踪的功能,不涉及理论知识,不涉及编码,全是动手操作,由以下步骤组成...\simple-grab-push-1.0-SNAPSHOT.jar 动态链接库:C:\study\javacv\lib\opencv_java453.dll 模型文件:C:\study\javacv\...\lib ^ -Dmodel.file.path=C:\study\javacv\model\haarcascade_frontalface_alt.xml ^ -jar C:\study\javacv...\lib ^-Dmodel.file.path=C:\study\javacv\model\haarcascade_frontalface_alt.xml ^-jar C:\study\javacv\simple-grab-push

38320
领券