首页
学习
活动
专区
工具
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.7K70

    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工程下:

    61960

    Java 音视频处理详解

    通过对实际代码示例的讲解,帮助读者深入理解并掌握 Java 音视频处理的核心内容。一、音视频处理基础音视频基础概念 音频和视频的处理涉及到许多基础概念,如采样率、比特率、编码格式等。...以下示例代码演示了如何捕获麦克风输入并保存为 WAV 文件:import javax.sound.sampled....以下示例演示了如何使用 JavaCV 捕获摄像头视频并保存为 MP4 文件:import org.bytedeco.javacv.FFmpegFrameRecorder;import org.bytedeco.javacv.Frame...以下示例展示了如何使用 JavaCV 实现摄像头视频的实时灰度处理和显示:import org.bytedeco.javacv.CanvasFrame;import org.bytedeco.javacv.Frame...通过对实际代码示例的讲解,帮助读者深入理解并掌握 Java 音视频处理的核心内容。希望本文能对正在从事或准备从事音视频处理开发的读者提供有价值的参考。

    16900

    自己开发一个电视----流媒体之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的摄像头实战之十三:年龄检测

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

    54820

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

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

    74120

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

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

    1.5K70

    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方法,代码如下

    64920

    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.3K20

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

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

    1.8K40

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

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

    53840

    JavaCV的摄像头实战之三:保存为mp4文件

    本篇概览 本文是《JavaCV的摄像头实战》的第三篇,如题,咱们一起实践如何将摄像头的视频内容保存为MP4文件 编码 《JavaCV的摄像头实战之一:基础》一文创建的simple-grab-push工程中已写好父类...红色块都是需要子类来实现抽象方法,所以接下来,咱们以本地窗口预览为目标实现这三个红色方法即可: 新建文件RecordCameraSaveMp4.java,这是AbstractCameraApplication的子类,其代码很简单...表示视频录制完成: 打开mp4文件所在目录,如下图,红框中就是刚刚生成的文件和相关信息,可见分辨率和帧率都符合预期: 用VLC打开这个文件,如下图,播放正常: 至此,咱们已完成了保存视频文件的功能,得益于JavaCV...的强大,整个过程是如此的轻松愉快,接下来请继续关注欣宸原创,《JavaCV的摄像头实战》系列还会呈现更多丰富的应用; 源码下载 《JavaCV的摄像头实战》的完整源码可在GitHub下载到,地址和链接信息如下表所示...文件夹下,如下图红框所示: javacv-tutorials里面有多个子工程,《JavaCV的摄像头实战》系列的代码在simple-grab-push工程下:

    87930
    领券