日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

音视频处理、图像处理、图像识别和字符识别全能库JavaCV完整教程(包含完整JavaCV入门、JavaCV实战、ffmpeg、opencv和tesserac教程)

發布時間:2023/12/31 java 28 豆豆

前言

一個老生常談的問題,JavaCV可以做什么?

  • 首先是音視頻處理,編解碼,裝封裝,只要ffmpeg可以的javacv就可以
  • 再者是圖像處理和圖像識別,可以借助opencv圖像檢測識別和tessert字符識別,他們也沒有什么不同,只是javacv通過jni讓它們跨平臺了而已,簡化了opencv和tessert環境配置,更加容易上手。
  • 矩陣計算,深度學習(deeplearning)等方面的也不在話下
  • JavaCV完整教程

    從入門到實戰再到進階底層ffmpeg、opencv和tesserac等庫。為了便于不同基礎的開發者掌握JavaCV,比如有些開發者有opencv或者ffmpeg的使用基礎,很多基礎內容可以跳過,博主將整個JavaCV分成五個JavaCV專欄用于闡述JavaCV基礎知識、JavaCV實戰教程以及ffmpeg、opencv和tesserac,方便開發者分別訂閱自己所需要的專欄。當然了,大部分Java開發者對于音視頻和圖像處理、識別這塊完全是零基礎入門,所以,博主也推出了JavaCV五合一專欄,便于零基礎的開發者們更快的入門。
    所有內容和擴展補充知識:

    • 《JavaCV五合一教程合輯》

    • 《JavaCV入門教程》
    • 《JavaCV實戰教程》
    • 《JavaCV進階FFmpeg音視頻》
    • 《JavaCV進階opencv圖像處理》
    • 《JavaCV進階tesserac字符識別》

    國產化適配(龍芯架構)補充文章:
    如何在龍芯架構和國產化操作系統平臺上運行javacv

    各個專欄內容概述

    JavaCV入門教程

    《JavaCV入門教程》詳細介紹了音視頻流媒體、圖像處理識別等技術的前置知識,JavaCV的基礎結構明細以及JavaCV各個結構的說明和用法。通過配合JavaCV實戰教程中的實例帶領大家全面理解JavaCV。

    JavaCV實戰教程

    《JavaCV實戰教程》相比于《JavaCV入門教程》的理論知識講解,更注重以翔實的實際案例,帶領大家一步一步領略JavaCV強大的設備音視頻采集(攝像頭、麥克風、桌面屏幕)、音視頻處理、拉流/推流、視頻錄制、hls切片、mp4切片、截圖、icon圖標制作、編解碼、視頻濾鏡特效、GPU硬件加速等實戰技術使用。

    不僅如此,使用JavaCV可以快速通過sdk接入網絡攝像頭視頻(海康、大華等宇視攝像機)并推流到我們指定的流媒體服務或者,或者也可以利用JavaCV實現自己的流媒體服務(例如:EasyMedia)實現websocket-flv,http-flv,hls等協議的實時視頻/錄像回放視頻轉發。

    除此以外,利用JavaCV視頻濾鏡也可以快速實現各種字符疊加,圖片疊加,畫中畫、多視頻合流等特效。

    JavaCV涉及非常豐富的實戰案例內容,更多內容不詳細介紹,敬請查看 《JavaCV實戰教程》,領略全面的流媒體音視頻開發技術。

    JavaCV進階FFmpeg音視頻

    《JavaCV進階FFmpeg音視頻》相比于使用JavaCV封裝好的類庫,相當于直接調用ffmpeg的api,相當于提供了ffmpeg的java版本api,比JavaCV封裝庫更加自由,適合想要深入了解ffmpeg音視頻開發技術的開發者,以及覺得JavaCV不太能滿足自己的需要,想要自己定制開發更加復雜和可控的音視頻技術,它更加貼近底層,需要開發者具有全面的ffmpeg基礎知識才能上手。

    JavaCV進階opencv圖像處理

    《JavaCV進階opencv圖像處理》專欄提供了JavaCV方式調用opencv底層庫的方法。
    主要講解了基于opencv技術的javacv圖像處理、人臉檢測、人臉訓練、人臉識別、二維碼檢測、識別等實際案例,帶領大家快速上手javaCV圖像處理/識別技術。

    注意:因為opencv本身也提供java的api,所以要注意它跟javacv的api是不相通的。如果使用javacv中的其他類庫,則必須配合使用JavaCV方式的opencv。

    JavaCV進階tesserac字符識別

    《JavaCV進階tesserac字符識別》詳細講解了JavaCV使用google的tesserac實現檢測攝像頭或者視頻中字符并實現字符識別。

    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開發詳解之9補充篇1:基于avfoundation的蘋果Mac和ios獲取屏幕畫面及錄屏/截屏以及攝像頭畫面和音頻采樣獲取實現
    javaCV開發詳解之9補充篇2:基于x11grab的linux屏幕畫面抓取/采集(linux錄屏功能)
    java原生實現屏幕設備遍歷和屏幕采集(捕獲)功能

    javaCV開發詳解之10:基于dshow調用windows攝像頭視頻和音頻,想要獲取屏幕畫面首選gdigrab
    javaCV開發詳解之11:視頻文件轉gif動態圖片實現,也支持攝像機、桌面屏幕、流媒體等視頻源轉gif

    javaCV開發詳解之11補充篇1:屏幕錄制gif動態圖,使用windows桌面屏幕畫面錄制成gif動態圖片,支持桌面任意取域生成gif,可擴展支持MacOS/安卓/linux等平臺,可擴展支持apng動態圖片
    javacv開發詳解之11補充篇2:使用批量多張圖片制作gif動態圖

    javaCV開發詳解之12:視頻轉apng動態圖片實現,支持透明通道,支持攝像機、桌面屏幕、流媒體等視頻源轉apng動態圖

    javacv開發詳解之12補充篇:使用批量多張圖片制作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開發詳解之21補充篇1:使用javacv讀取大華攝像頭sdk回調視頻裸流并解析

    JavaCV開發詳解之22:flv,live_flv格式說明,http-flv拉流和http-flv推流及rtmp拉流和rtmp推流全面分析和開發實戰
    JavaCV開發詳解之23:hls視頻錄制,m3u8切片錄制和fmp4切片錄制詳解,以拉流rtmp錄制hls切片為例

    javacv開發詳解之23補充篇1:hls切片錄制,rtsp拉流錄制生成hls切片,m3u8清單/ts切片錄制詳解,解決hls_time無效問題
    javacv開發詳解之23補充篇2:hls切片轉封裝錄制,無需轉碼進行ts切片,m3u8清單/ts切片錄制
    JavaCV開發詳解之23補充篇3:hls切片錄制,自動根據日期時間格式生成切片ts文件和目錄

    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開發詳解之27補充篇1:使用javacv把音視頻切割成多個音頻分片文件,以mp3為例,把視頻切割成MP3分片文件

    JavaCV開發詳解之30:如何使用javacv拉取rtsp視頻流,rtsp解復用器詳解。如何把rtsp調教的服服帖帖,讓rtsp拉流不再丟包
    JavaCV開發詳解之31:如何計算pts/dts時間戳,在視頻轉碼和轉復用中如何自行計算pts/dts時間戳

    javacv開發詳解補充篇:解決轉流后視頻畫面快進慢放,時間跳動過大,監控視頻時間戳重新計算pts和dts

    JavaCV開發詳解之32:使用filter濾鏡實現中文字符疊加
    JavaCV開發詳解之33:使用filter濾鏡實現動態日期時間疊加
    JavaCV開發詳解之34:使用filter濾鏡實現無限循環滾動字符疊加,跑馬燈特效
    JavaCV開發詳解之35:使用filter濾鏡實現畫中畫,以屏幕畫面疊加攝像頭畫面為例

    JavaCV實戰教程補充內容目錄

    音視頻編解碼問題:javaCV如何快速進行音頻預處理和解復用編解碼(基于javaCV-FFMPEG)
    音視頻編解碼問題:16/24/32位位音頻byte[]轉換為小端序short[],int[],以byte[]轉short[]為例
    實現給圖片增加圖片水印或者文字水印(也支持視頻圖像幀添加水印)
    流媒體直播實時視頻延遲時間排查和剖析
    JavaCV精簡依賴包:如何只依賴本地平臺所需的最小依賴包

    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進階opencv圖像處理:掃描并識別攝像頭中的二維碼
    JavaCV進階opencv圖像處理:10行代碼快速實現掃描識別圖片中的二維碼
    JavaCV進階opencv圖像處理:掃描并識別視頻中的二維碼

    javacv進階tesserac文字識別系列目錄

    javaCV文字識別之1:基于google的tesserac ocr識別圖片中的文字,跨平臺支持英文中文簡體繁體等各種字符識別

    javaCV文字識別之2:視頻文字識別和視頻提取字幕文字字符

    總結

    以上是生活随笔為你收集整理的音视频处理、图像处理、图像识别和字符识别全能库JavaCV完整教程(包含完整JavaCV入门、JavaCV实战、ffmpeg、opencv和tesserac教程)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。