最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javacv開發(fā)詳解之調(diào)用本機(jī)攝像頭視頻

 更新時間:2021年04月22日 10:00:49   作者:eguid_1  
這篇文章主要介紹了javacv開發(fā)詳解之調(diào)用本機(jī)攝像頭視頻,對javacv感興趣的同學(xué),可以參考下

前言

javacv開發(fā)包是用于支持java多媒體開發(fā)的一套開發(fā)包,可以適用于本地多媒體(音視頻)調(diào)用以及音視頻,圖片等文件后期操作(圖片修改,音視頻解碼剪輯等等功能),這里只使用最簡單的本地攝像頭調(diào)用來演示一下javacv的基礎(chǔ)功能

重要:

建議使用最新javaCV1.5版本,該版本已解決更早版本中已發(fā)現(xiàn)的大部分bug

javacv系列文章使用6個jar包:

javacv.jar,javacpp.jar,ffmpeg.jar,ffmpeg-系統(tǒng)平臺.jar,opencv.jar,opencv-系統(tǒng)平臺.jar。

其中ffmpeg-系統(tǒng)平臺.jar,opencv-系統(tǒng)平臺.jar中的系統(tǒng)平臺根據(jù)開發(fā)環(huán)境或者測試部署環(huán)境自行更改為對應(yīng)的jar包,比如windows7 64位系統(tǒng)替換為ffmpeg-x86-x64.jar

為什么要這樣做:因為ffmpeg-系統(tǒng)平臺.jar中存放的是c/c++本地so/dll庫,而ffmpeg.jar就是使用javacpp封裝的對應(yīng)本地庫java接口的實現(xiàn),而javacpp就是基于jni的一個功能性封裝包,方便實現(xiàn)jni,javacv.jar就是對9個視覺庫進(jìn)行了二次封裝,但是實現(xiàn)的功能有限,所以建議新手先熟悉openCV和ffmpeg這兩個C/C++庫的API后再來看javaCV思路就會很清晰了。

須知:

javacv系列文章默認(rèn)音視頻處理使用ffmpeg,圖像處理使用opencv,攝像頭抓取使用opencv

javacv官方github維護(hù)地址:https://github.com/bytedeco/javacv

依賴配置說明

(注意:從其他地方下載的依賴包請積極開心的替換為官方j(luò)ar包和博主提供jar包;如果使用其他jar包版本而導(dǎo)致出錯,不要急著找博主問為啥會報錯,先把jar包替換了再試試看)

maven和gradle方式如果想要減小依賴包大小,則需要手動進(jìn)行排除不需要的平臺依賴即可

1.使用maven添加依賴

<dependency>
	<groupId>org.bytedeco</groupId>
	<artifactId>javacv-platform</artifactId>
	<version>1.4.4</version>
</dependency>

2.使用gradle添加依賴

dependencies {
    compile group: 'org.bytedeco', name: 'javacv-platform', version: '1.4.4'
  }

3.使用本地jar包方式

最新版實在太大,需要下載全量包的請到官方github.com/bytedeco/javacv下載

建議使用maven或gradle方式構(gòu)建項目。

jar包使用須知:

1、windows x64平臺用到的opencv依賴:opencv.jar;oepncv-windows-x86_64.jar(其他平臺替換為對應(yīng)的jar包即可)

2、蘋果mac需要opencv-macosx-x86_64.jar
3、linux平臺需要:opencv-linux-x86_64.jar  

4、安卓平臺arm架構(gòu)的需要opencv-android-arm.jar ,基于x86的需要opencv-android-x86.jar

為什么不需要安裝opencv?

從javacv0.8開始,已經(jīng)不需要本地安裝opencv,直接通過引用opencv對應(yīng)的系統(tǒng)平臺的引用包即可。

(比如oepncv-windows-x86_64.jar就是典型的64位windows環(huán)境依賴包)

獲取攝像頭視頻

最終調(diào)用的攝像頭實時視頻圖像界面:

預(yù)覽本機(jī)攝像頭視頻圖像的簡單實現(xiàn)(由于之前csdn的注釋被屏蔽,重新精簡優(yōu)化了代碼):

package cc.eguid.javacv;
 
import javax.swing.JFrame;
 
import org.bytedeco.javacv.CanvasFrame;
import org.bytedeco.javacv.OpenCVFrameConverter;
import org.bytedeco.javacv.FrameGrabber.Exception;
import org.bytedeco.javacv.OpenCVFrameGrabber;
 
/**
 * 調(diào)用本地攝像頭窗口視頻
 * @author eguid  
 * @date 2016年6月13日
 * @since  javacv1.2
 */
public class JavavcCameraTest{
  public static void main(String[] args) throws Exception, InterruptedException{
 
    OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);//新建opencv抓取器,一般的電腦和移動端設(shè)備中攝像頭默認(rèn)序號是0,不排除其他情況
    grabber.start();//開始獲取攝像頭數(shù)據(jù)
 
    CanvasFrame canvas = new CanvasFrame("攝像頭預(yù)覽");//新建一個預(yù)覽窗口
    canvas.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
    //窗口是否關(guān)閉
    while(canvas.isDisplayable()){
      /*獲取攝像頭圖像并在窗口中顯示,這里Frame frame=grabber.grab()得到是解碼后的視頻圖像*/
      canvas.showImage(grabber.grab());
    }
    grabber.close();//停止抓取
  }
}

是不是很簡單,原本很復(fù)雜的流媒體操作,javaCV能夠幫助我們快速實現(xiàn)。

以上就是javacv開發(fā)詳解之調(diào)用本機(jī)攝像頭視頻的詳細(xì)內(nèi)容,更多關(guān)于javacv調(diào)用本機(jī)攝像頭的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MyBatis-Plus攔截器實現(xiàn)數(shù)據(jù)權(quán)限控制的示例

    MyBatis-Plus攔截器實現(xiàn)數(shù)據(jù)權(quán)限控制的示例

    本文主要介紹了MyBatis-Plus攔截器實現(xiàn)數(shù)據(jù)權(quán)限控制的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Java如何使用Set接口存儲沒有重復(fù)元素的數(shù)組

    Java如何使用Set接口存儲沒有重復(fù)元素的數(shù)組

    Set是一個繼承于Collection的接口,即Set也是集合中的一種。Set是沒有重復(fù)元素的集合,本篇我們就用它存儲一個沒有重復(fù)元素的數(shù)組
    2022-04-04
  • JDK與JRE的下載和安裝以及配置JDK環(huán)境變量圖文教程

    JDK與JRE的下載和安裝以及配置JDK環(huán)境變量圖文教程

    JRE也就是(Java?RuntimeEnvironment)Java運(yùn)行環(huán)境,是運(yùn)行JAVA程序所必須的環(huán)境的集合,包含各種類庫,下面這篇文章主要給大家介紹了關(guān)于JDK與JRE的下載和安裝以及配置JDK環(huán)境變量的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • 基于Java SSM實現(xiàn)Excel數(shù)據(jù)批量導(dǎo)入

    基于Java SSM實現(xiàn)Excel數(shù)據(jù)批量導(dǎo)入

    這篇文章主要為大家詳細(xì)介紹了基于Java SSM如何實現(xiàn)excel數(shù)據(jù)批量導(dǎo)入,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java實現(xiàn)數(shù)據(jù)庫連接池的方法

    Java實現(xiàn)數(shù)據(jù)庫連接池的方法

    這篇文章主要介紹了Java實現(xiàn)數(shù)據(jù)庫連接池的方法,涉及java數(shù)據(jù)庫連接池的創(chuàng)建、連接、刷新、關(guān)閉及狀態(tài)獲取的常用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Jmeter固定定時器的使用詳解

    Jmeter固定定時器的使用詳解

    jmeter提供了多種定時器以便于我們進(jìn)行接口的測試,你知道jmeter提供的定時器有哪些嗎,本文就詳細(xì)的介紹了Jmeter固定定時器的使用,感興趣的可以了解一下
    2021-11-11
  • springboot+RabbitMQ+InfluxDB+Grafara監(jiān)控實踐

    springboot+RabbitMQ+InfluxDB+Grafara監(jiān)控實踐

    這篇文章主要介紹了springboot+RabbitMQ+InfluxDB+Grafara監(jiān)控實踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 使用FeignClient調(diào)用POST表單Body內(nèi)沒有參數(shù)問題

    使用FeignClient調(diào)用POST表單Body內(nèi)沒有參數(shù)問題

    這篇文章主要介紹了使用FeignClient調(diào)用POST表單Body內(nèi)沒有參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 如何用Intellij idea2020打包jar的方法步驟

    如何用Intellij idea2020打包jar的方法步驟

    這篇文章主要介紹了如何用Intellij idea 2020打包jar的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • java判斷對象中某個屬性是否為空方法代碼

    java判斷對象中某個屬性是否為空方法代碼

    這篇文章主要給大家介紹了關(guān)于java判斷對象中某個屬性是否為空的相關(guān)資料,最近遇到后臺接收值的時候,需要對接收對象進(jìn)行非空校驗,需要的朋友可以參考下
    2023-07-07

最新評論

醴陵市| 鄂托克旗| 林芝县| 铁力市| 监利县| 遵化市| 本溪市| 视频| 山西省| 泸水县| 泸州市| 宜黄县| 外汇| 海宁市| 安达市| 米泉市| 昔阳县| 保康县| 乌鲁木齐县| 博乐市| 哈密市| 洛宁县| 贵南县| 嘉义县| 常熟市| 岳池县| 祁连县| 宁德市| 陇南市| 文成县| 确山县| 泰安市| 眉山市| 竹北市| 东海县| 磐石市| 石河子市| 迭部县| 吉隆县| 武汉市| 黄浦区|