javacv是什么?javacv技术栈能做什么?

大家肯定对javacv很感兴趣,恰巧博主对javacv稍有涉猎,这就来给各位小伙伴们安利一番,javacv到底可以做什么,可以在哪些领域独领风骚。

javacv凭借强大的跨平台性和快速开发,既降低了跨平台要求,又提高了开发速度。不管你是Windows,Mac,Linux,树莓派嵌入式,javacv都可以随心所欲。

音视频处理(ffmpeg)

首先是音视频处理,编解码,装封装,只要ffmpeg可以的javacv就可以,他们没有什么不同。

图像处理和图像识别(opencv)

再者是图像处理和图像识别,可以借助opencv图像检测识别和tessert字符识别,他们也没有什么不同,只是javacv通过jni让它们跨平台了而已,不需要自己再去封装了。
剩下的包含矩阵计算,深度学习等方面的内容,了解不多,不多赘述。

javacv技术栈的应用场景
很多人好奇,现在javacv常被用在哪些应用场景下?
javacv跨平台,不仅可以在windows,linux,macos等服务器或者客户都安机器上工作,在各种嵌入式板子上也不在话下。

嵌入式开发(树莓派等):

很多人把javacv用在树莓派等等的一些基于arm芯片的板子上,外挂摄像头或者音频设备就可以实现音视频上传,图像处理,图像识别等等操作。
可以用在各种图像采集设备、机器人视觉、人脸打卡和小区门禁等各项领域。

音视频流媒体:

利用javacv的流媒体优势,可以轻松实现音视频采集,推流,编解码,装封装等等操作。

深度学习:

deeplearn4j为主的利用java大数据能力进行深度学习,这方面了解不多,但是它确实挺出名的。

人脸检测识别:

网上搜到javacv最多的文章就是关于人脸检测识别的了,javacv官网的首页demo就是人脸检测的例子,opencv能做到的它都可以。

文字识别:

利用Tesseract-OCR可以轻松实现字符库训练,字符识别。还可以借助javacv特有的流媒体属性和嵌入式开发特性实现摄像头的字符识别,视频图像的字符识别等场景。

光凭以上介绍不足以显示出javacv的强大能力,为了方便大家快速上手和了解javacv,博主捶胸顿足,倾情为各位同学们奉上javacv系列教程一份:

JavaCV入门指南系列

  • JavaCV入门指南:序章(看完本章后,不想看原理的小伙伴可直接跳转到《快速上手篇》)
  • JavaCV入门指南:调用FFmpeg原生API和JavaCV是如何封装了FFmpeg的音视频操作
  • JavaCV入门指南:调用opencv原生API和JavaCV是如何封装了opencv的图像处理操作
  • JavaCV入门指南:帧抓取器(FrameGrabber)的原理与应用
  • JavaCV入门指南:帧录制器/推流器(FrameRecorder)的原理与应用
  • JavaCV入门指南:帧过滤器(FrameFilter)的原理与应用
  • JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(完结篇)
  • 《快速上手篇》(为了区别,单独划分):
  • JavaCV入门指南之快速上手篇:快速上手视频拉流、推流、录制文件、录屏、截图和编解码复用解复用等常用音视频处理操作

javaCV实战系列

  • javacv开发详解之1:调用本机摄像头视频
  • javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)
  • javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)
  • javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)
  • javaCV开发详解之5:录制音频(录制麦克风)到本地文件/流媒体服务器(基于javax.sound、javaCV-FFMPEG)
  • javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)
  • javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)
  • javaCV开发详解之8:转封装在rtsp转rtmp流中的应用(无须转码,更低的资源消耗,更好的性能,更低延迟)
  • javaCV开发详解之9:基于gdigrab的windows屏幕画面抓取/采集(基于javacv的屏幕截屏、录屏功能)
  • javaCV开发详解之10:基于dshow调用windows摄像头视频和音频,想要获取屏幕画面首选gdigrab
  • javaCV开发详解之11:视频文件转gif动态图片实现,也支持摄像机、桌面屏幕、流媒体等视频源转gif
  • javacv开发详解之gif补充篇:如何使用批量的多张图片制作gif动态图,再也不用担心不会制作动态图了
  • javaCV开发详解之12:视频转apng动态图片实现,支持透明通道,支持摄像机、桌面屏幕、流媒体等视频源转apng动态图
  • javacv开发详解之apng补充篇:如何使用批量的多张图片制作apng动态图,再也不用担心不会制作动态图了
  • javaCV开发详解之13:使用FFmpeg Filter过滤器处理音视频
  • javaCV开发详解之14:音频重采样
  • javaCV开发详解之15:视频帧像素格式转换
  • javaCV开发详解之16:使用一张图片推流和一张图片录制成视频文件
  • javaCV开发详解之17:GIF和APNG动态图片推流和录制成视频文件(以gif转mp4为例)
  • javaCV开发详解之18:音视频转码(音频编解码和视频编解码)
  • JavaCV开发详解之19:如何开启GPU硬件加速,使用JavaCV进行音视频的硬解码和硬编码
  • JavaCV开发详解之20:如何使用JavaCV制作ico图标,图片和视频生成ico图标,视频流录制ico图标
  • JavaCV开发详解之21:如何使用JavaCV接入gb28181的ps流并推流到流媒体服务和接入海康大华sdk回调h264/hevc裸流
  • JavaCV开发详解之22:flv,live_flv格式说明,http-flv拉流和http-flv推流及rtmp拉流和rtmp推流全面分析和开发实战
  • JavaCV开发详解之23:hls视频录制,m3u8切片录制和fmp4切片录制详解
  • JavaCV开发详解之24:使用javacv录制dash视频分片,mpeg-dash视频录制和制作
  • JavaCV开发详解之25:使用javacv保存raw视频像素格式(yuv或者rgb),并使用ffplay播放raw
  • JavaCV开发详解之26:使用javacv对视频进行连续截图和覆盖截图,支持png,jpg,bmp等格式快速连续截图,适用于视频快照
  • JavaCV开发详解之27:使用javacv把视频切割成多个视频分片文件,以mp4为例,把视频切割成MP4分片文件
  • JavaCV开发详解之28:如何使用javacv进行多图推流和多图合成视频文件,以批量jpg图片推流rtmp和jpg合成flv视频文件为例
  • JavaCV开发详解之29:使用javacv将多个视频拼接合成单个视频,多个音频拼接合成单个音频
  • JavaCV开发详解之30:如何使用javacv拉取rtsp视频流,rtsp解复用器详解。如何把rtsp调教的服服帖帖,让rtsp拉流不再丢包
  • JavaCV开发详解之31:如何计算pts/dts时间戳,在视频转码和转复用中如何自行计算pts/dts时间戳

JavaCV及音视频相关补充篇

  • javacv开发详解补充篇:解决转流后视频画面快进慢放,时间跳动过大,监控视频时间戳重新计算pts和dts
  • javaCV开发详解补充篇:基于avfoundation的苹果Mac和ios获取屏幕画面及录屏/截屏以及摄像头画面和音频采样获取实现
  • javaCV开发详解之GIF动态图片录制补充篇:windows桌面屏幕画面录制成gif动态图片,支持桌面任意取域生成gif,可扩展支持MacOS/安卓/linux等平台,可扩展支持apng动态图片
  • 音视频编解码问题:javaCV如何快速进行音频预处理和解复用编解码(基于javaCV-FFMPEG)
  • 音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例
  • 实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
  • java原生实现屏幕设备遍历和屏幕采集(捕获)等功能
  • 流媒体直播实时视频延迟时间排查和剖析

javacv进阶ffmpeg系列

  • javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片
  • javacpp-FFmpeg系列之2:通用拉流解码器,支持视频拉流解码并转换为YUV、BGR24或RGB24等图像像素数据
  • javacpp-FFmpeg系列之3: 图像数据转换(BGR与BufferdImage互转,RGB与BufferdImage互转)
  • javacpp-FFmpeg系列补充:FFmpeg解决avformat_find_stream_info检索时间过长问题

javacv进阶opencv系列

  • javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作
  • javaCV图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制
  • javacv图像处理3:使用opencv原生方法遍历摄像头设备及调用(方便多摄像头遍历及调用,相比javacv更快的摄像头读取速度和效率,方便读取后的图像处理)
  • javacv图像处理系列:国内车辆牌照检测识别系统(万份测试准确率99.7%以上)

javacv人脸检测识别

opencv人脸检测识别:

  • JavaCV进阶opencv图像检测识别:摄像头画面人脸检测
  • JavaCV进阶opencv图像检测识别:ffmpeg视频图像画面人脸检测
  • JavaCV进阶opencv图像处理:批量人脸图像分类训练
  • JavaCV进阶opencv图像处理:摄像头图像人脸识别

javacv进阶tesserac文字识别系列

  • javaCV文字识别之1:基于google的tesserac ocr识别图片中的文字,跨平台支持英文中文简体繁体等各种字符识别

  • javaCV文字识别之2:视频文字识别和视频提取字幕文字字符

只知道用c++搞音视频?来来来,javacv了解一下相关推荐

  1. 逻辑判断 java_写 JS 逻辑判断,不要只知道用 if-else 和 switch

    原文: 写 JS 逻辑判断,不要只知道用 if-else 和 switch 我们在编写 JS 代码时,经常会遇到逻辑判断复杂的情况.一般情况下,可以用 if/else 或 switch 来实现多个条件 ...

  2. JavaCV音视频开发宝典:JavaCV使用gdigrab方式实现windows录屏(windows屏幕画面抓取/采集,可实现高帧率屏幕截屏、录屏功能)

    <JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 前言 本系列文章前面内容基本覆盖了推流拉流等内容,屏幕截屏之前也写过,只不过是基于ja ...

  3. JavaCV音视频开发宝典:JavaCV实现mp3音频直播FM在线电台服务,无需流媒体服务,浏览器原生audio标签直接播放mp3,支持rtsp/rtmp/flv/hls/本地音视频源直接转码到mp3

    <JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 ​ 前言 之前写过使用JavaCV实现webm直播的文章: <JavaCV音视频 ...

  4. JavaCV音视频开发宝典:JavaCV混合屏幕录屏和系统声音录制mp4视频文件(windows桌面屏幕和系统声音混合录制)

    <JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 前言 之前已经写过dshow方式采集摄像头画面.麦克风.系统声音和桌面屏幕画面. 之前 ...

  5. 使用FFMPEG进行音视频编解码(C++) 0.简介

    FFMPEG介绍 FFMPEG是一个开源的编解码软件,读作"ef ef em peg".官方网址是:http://ffmpeg.org/.FFMPEG几乎支持所有的格式,当然了像一 ...

  6. C++音视频开发从放弃到入门(基于FFmpeg+OpenCV)

    前言 音视频开发一定要学C++吗?答案是肯定的.虽然其它语言也能搞音视频开发,甚至使用起来更简单,但"语言越高级,离真相就越远",当你的功能需求日益增多,程序的性能需求越来越迫切, ...

  7. 2021了,为什么说音视频技术是技术风口?Android音视频开发这么吃香

    此外,H265交互式投屏技术在互动上更是丝滑到了极致 那么,我们该如何学习交互式投屏技术呢? 而如今音视频的知识纷繁复杂,自己学习非常困难,既需要非常扎实的基础知识,又需要有很多的工程经验: 而音视频 ...

  8. 音视频交流群又来啦~~~

    音视频交流群又来啦~~~ 最近有不少朋友加我微信,要求进群交流学习的. 可是早先创建的技术交流群,渐渐地都开始满员了. 于是乎,要开始创建第三群啦~~~ 等你加入!! 群里目前就两个人,前两位都是我自 ...

  9. 抖音素材哪里收集_教大家抖音视频素材哪里找的方法

    教大家抖音视频素材哪里找的方法 关于到现在教大家抖音视频素材哪里找的方法这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道教大家抖音视频素材哪里 ...

最新文章

  1. android去掉button默认的点击阴影
  2. android javamail获取邮件太多太慢_结合 Spring 发送邮件的4种正确姿势,你知道几种?...
  3. 关于web技术的一些见解
  4. node.js中的字符串、对象和json处理函数
  5. ASP.NET 3.5中的一个超简单的Ajax实验
  6. “云网管” ---云上构建网络自动化体系
  7. bmp转换tiff c++代码_如何用Java语言将图像转换为PDF?Spire.PDF for Java轻松搞定
  8. Problem C(HDU-5687)
  9. 为什么要对1000000007取模
  10. 2.3全卷积网络(FCN)与图像分割
  11. 针对 VOC2007和VOC2012 的具体用法
  12. Excel 合并居中后无法自动换行
  13. 谷歌雅虎新闻大战-两种路线的PK
  14. 社工库寻求帮助可以下载
  15. 任务调度:全网最全 xxl-job任务触发流程
  16. 大米新闻微信小程序和Springboot新闻管理系统项目源码
  17. 在阿里云服务器中部署nodeBB项目(nodeBB系列一)
  18. Linux磁盘挂载和共享
  19. office 2010很强大很好用
  20. 读取csv时中文乱码问题

热门文章

  1. 3D跑酷教程 —— 相机的使用
  2. 好用的Mac窗口管理器:Rectangle for Mac
  3. 电压放大器在非共线混频方法检测混凝土中的应用
  4. 凡是过去,皆为序章,
  5. YACS20223月乙组——最大空方阵
  6. 适用于Windows平台的录屏软件Captura简介
  7. bzoj1951 [Sdoi2010]古代猪文
  8. 贪心法求解背包问题 C++
  9. MTK编译及修改记录
  10. BeautifulSoup模块学习文档