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

Differences between OpenCV JavaCV and OpenCV4Android

/bytedeco/javacv OpenCV,JavaCV,OpenCV4Android (1) JavaCV和OpenCV4Android没有关系 OpenCV是C++版本的开源计算机视觉库;JavaCV...,详细的使用教程看这里 OpenCV4Android暂时不支持,但是可以通过建立一层简单的封装来实现,封装的方法看这里 JavaCV现在已经支持人脸识别算法了,在Samples中可以找到一份样例代码OpenCVFaceRecognizer.java...> 我测试通过的源码下载 最近发现一个项目也是采用这种方式,而且代码质量较高,可惜的是并没有公开Native层代码,而只是提供了Java层的SDK,详情可见这里 (2) 摄像头使用纯Android Camera...优点是依赖还不算多而且可能要写的Native层代码也不多。...(1) 方案1中的部分代码 实现将YUV 格式数据转换成 RGBA 格式数据的Native层代码 // Just show the plain camera image without modifying

2.3K40

JavaCV的摄像头实战之一:基础

关于《JavaCV的摄像头实战》系列 《JavaCV的摄像头实战》顾名思义,是使用JavaCV框架对摄像头进行各种处理的实战集合,这是欣宸作为一名Java程序员,在计算机视觉(computer vision...与您一同学习掌握视频、音频、图片等资源的各种操作 另外要说明的是,整个系列使用的摄像头是USB摄像图或者笔记本的内置摄像头,并非基于网络访问的智能摄像头 本篇概览 作为整个系列的开篇,本文非常重要,从环境到代码的方方面面...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下: 基本套路分析 全系列有多个基于摄像头的实战...没错,接下来就考虑如何把代码按照套路固定下来,我的思路是开发名为AbstractCameraApplication的抽象类,作为《JavaCV的摄像头实战》系列每个应用的父类,它负责搭建整个初始化、取帧...dependency> 接下来就是AbstractCameraApplication.java的完整代码,这些代码的流程和方法命名都与上图保持一致

1.6K70

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

本篇概览 本文是《JavaCV的摄像头实战》的第四篇,也是整个系列最简单轻松的一篇,寥寥几行代码实现从摄像头抓图的功能; 编码 《JavaCV的摄像头实战之一:基础》一文创建的simple-grab-push...咱们以本地窗口预览为目标实现这三个红色方法即可: 虽然父类要求子类必须实现这三个方法:initOutput、output、releaseOutputResource,但是实际上只有output方法中有代码...,其他两个是空方法; 新建文件GrabImageFromCamera.java,这是AbstractCameraApplication的子类,其代码很简单,接下来按上图顺序依次说明 定义三个成员变量,作用分别是...的摄像头实战》系列还会呈现更多丰富的应用; 源码下载 《JavaCV的摄像头实战》的完整源码可在GitHub下载到,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:

56960

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

如果您看过《JavaCV的摄像头实战》系列的其他文章,就会发现上图中只有蓝色部分是新增内容,其余的步骤都是固定套路,《JavaCV的摄像头实战》系列的每一个应用玩的都是相同套路:别看步骤挺多,其实都是同一个流程...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下: 准备:文件下载 本次实战需要三个文件...处理每一帧、释放资源等 AgeDetectService.java:前文GenderDetectService的子类,仅仅是处理推理结果的逻辑与前文的性别识别略有不同,其余功能完全继承自性别识别 以上代码...,除了推理结果的处理逻辑略有不同,其余功能与《性别检测》完全一致 所以,实现年龄检测的最简单方法就是写一个子类继承GenderDetectService,这个子类中只有神经网络推理结果的处理逻辑,完整代码如下...,并且代码的效果也是继承了两种识别的,如下图: 也行您会有疑问:欣宸为何不把两种识别放在一篇文章和一个demo中,这样内容更完整demo也更强大?

50520

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

简单的设计 编码之前先把要做的事情梳理一下: 检测功能可能用在多个场景:窗口预览、推流、存文件都可能用到,所以检测功能的代码最好独立出来,不要和预览、推流这些代码写在一起,如下图,检测的接口DetectService...检测服务不仅是人脸检测,今后还有人体检测、物体检测等等,所以设计一个检测服务接口DetectService,人脸检测、人体检测、物体检测这些类都是这个接口的实现,如下图所示,对于预览、推流、存文件这个应用的代码...其实这个系列的重点是JavaCV,所以保持代码简单吧,不引入Spring框架了 总的来说,今天的要写的代码如下图所示,绿色块的AbstractCameraApplication类已在《JavaCV的摄像头实战之一...的强大,整个过程是如此的轻松愉快,接下来请继续关注欣宸原创,《JavaCV的摄像头实战》系列还会呈现更多丰富的应用; 本文涉及的所有代码都能在接下来的介绍的GitHub仓库中找到 源码下载 《JavaCV...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:

68120

自己开发一个电视----流媒体之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推流实战(MP4文件)

应用 接下来进入最重要的编码阶段,新建名为simple-grab-push的maven工程,pom.xml如下(那个名为javacv-tutorials的父工程其实没有什么作用,我这里只是为了方便管理多个工程的代码而已...dependency> 从上述文件可见,JavaCV的依赖只有一个javacv-platform,挺简洁 接下来开始编码,在编码前,先把整个流程画出来...,这样写代码就清晰多了: 从上图可见流程很简单,这里将所有代码写在一个java类中: package com.bolingcavalry.grabpush; import lombok.extern.slf4j.Slf4j...; import org.bytedeco.javacv.FFmpegFrameRecorder; import org.bytedeco.javacv.FFmpegLogCallback; import...推流实战(MP4文件)已经全部完成,希望通过本文咱们可以一起熟悉JavaCV处理推拉流的常规操作;

1.1K20

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

,咱们来开发一个实用功能:识别性别并显示在预览页面,如下图: 今天的代码,主要功能如下图所示: 如果您看过《JavaCV的摄像头实战》系列的其他文章,就会发现上图中只有蓝色部分是新增内容...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下: 准备:文件下载 本次实战需要三个文件...我已将上述文件打包上传到CSDN,您也可以在CSDN下载(无需积分): https://download.csdn.net/download/boling_cavalry/70730586 准备:代码接口简介...所以接下来,咱们以本地窗口预览为目标实现这三个红色方法即可: 新建文件PreviewCameraWithGenderAge.java,这是AbstractCameraApplication的子类,其代码很简单...protected int getInterval() { return super.getInterval()/8; } 至此,功能已开发完成,再写上main方法,代码如下

58520

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

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

1.3K70

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

,本篇借助JavaCV来使用该分类器实现人脸识别 简单的设计 编码之前先把要做的事情梳理一下: 识别功能可能用在多个场景:窗口预览、推流、存文件都可能用到,所以识别功能的代码最好独立出来,不要和预览、推流这些代码写在一起...识别服务不仅是人脸识别,今后还有人体识别、物体识别等等,所以设计一个识别服务接口DetectService,人脸识别、人体识别、物体识别这些类都是这个接口的实现,如下图所示,对于预览、推流、存文件这个应用的代码...其实这个系列的重点是JavaCV,所以保持代码简单吧,不引入Spring框架了 总的来说,今天的要写的代码如下图所示,绿色块的AbstractCameraApplication类已在《JavaCV的摄像头实战之一...的强大,整个过程是如此的轻松愉快,接下来请继续关注欣宸原创,《JavaCV的摄像头实战》系列还会呈现更多丰富的应用; 本文涉及的所有代码都能在接下来的介绍的GitHub仓库中找到 源码下载 《JavaCV...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:

1.5K40

JavaCV人脸识别三部曲之三:识别和预览

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 《JavaCV人脸识别三部曲》链接 《视频中的人脸保存为图片...: 理解重点概念:confidence 理解重点概念:threshold 编码 验证 今天编写的代码,主要功能如下图所示: 理解重点概念:confidence confidence和threshold...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV人脸识别三部曲》系列的代码在simple-grab-push工程下: 编码:人脸识别服务 开始正式编码...,需要再写一些代码来使用DetectAndRecognizeService 编码:运行框架 《JavaCV的摄像头实战之一:基础》创建的simple-grab-push工程中已经准备好了父类AbstractCameraApplication...人脸识别三部曲》全部完成,如果您是位java程序员,正在寻找人脸识别相关的方案,希望本系列能给您一些参考 另外《JavaCV人脸识别三部曲》是《JavaCV的摄像头实战》系列的分支,作为主干的《JavaCV

88530

JavaCV的摄像头实战之二:本地窗口预览

本篇概览 前文《JavaCV的摄像头实战之一:基础》已经为整个系列做好了铺垫,接下来的文章会专注于如何使用来自摄像头的数据,本篇先从最简单的开始:本地窗口预览 编码 前文创建的simple-grab-push...红色块都是需要子类来实现抽象方法,所以接下来,咱们以本地窗口预览为目标实现这三个红色方法即可: 新建文件PreviewCamera.java,这是AbstractCameraApplication的子类,其代码很简单...1000); } 运行main方法,如下图,摄像头顺利工作,左上角的时间水印也能正常显示(可见今天深圳的天气不错,应该出去走走,而不是在家写博客…): 至此,咱们已完成了本地窗口预览功能,得益于JavaCV...的强大,整个过程是如此的轻松愉快,接下来请继续关注欣宸原创,《JavaCV的摄像头实战》系列还会呈现更多丰富的应用; 源码下载 《JavaCV的摄像头实战》的完整源码可在GitHub下载到,地址和链接信息如下表所示...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:

49140

JavaCV人脸识别三部曲之一:视频中的人脸保存为图片

人脸识别三部曲》 《JavaCV人脸识别三部曲》一共三篇文章,内容如下: 《视频中的人脸保存为图片》:本篇介绍如何通过JavaCV将摄像头中的每个人脸都检测出来,并且把每个人脸保存为图片,这种方法可以让我们快速获取大量人脸照片用于训练...《训练》:讲述如何用分类好的照片去训练模型 《识别和预览》:拿到训练好的模型,去识别视频中每一帧的人脸,把结果标注到图片上预览 整个三部曲也是《JavaCV的摄像头实战》系列的一部分,分别是《JavaCV...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下: 编码:检测服务 先定义一个检测有关的接口...* 释放资源 */ void releaseOutputResource(); } 然后就是DetectService的实现类DetectAndSaveService.java,完整代码如下...,需要再写一些代码来使用DetectAndSaveService 编码:运行框架 《JavaCV的摄像头实战之一:基础》创建的simple-grab-push工程中已经准备好了父类AbstractCameraApplication

1.3K30
领券