日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于FFmpeg深度學(xué)習(xí)相關(guān)內(nèi)容的技術(shù)分享

LiveVideoStack ? 來(lái)源:LiveVideoStack ? 作者:LiveVideoStack ? 2020-09-04 10:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 為什么需要在FFmpeg中實(shí)現(xiàn)深度學(xué)習(xí)模塊

首先,為什么需要FFmpeg深度學(xué)習(xí)模塊,F(xiàn)Fmpeg對(duì)輸入的碼流,首先進(jìn)行解碼,解碼后得到一個(gè)個(gè)的視頻幀,以及相應(yīng)的音頻數(shù)據(jù)等。經(jīng)過(guò)一系列的Filter之后,最后可以進(jìn)行重新編碼或者直接播放出來(lái)。這些filter的功能包括傳統(tǒng)的圖像處理,也包括一些統(tǒng)計(jì)功能,比如直方圖等。在深度學(xué)習(xí)的算法出來(lái)之后,由于它太有效了,包括很多的算法功能,例如超分辨率、目標(biāo)識(shí)別、人臉檢測(cè)、目標(biāo)檢測(cè)、人臉識(shí)別等等,都需要深度學(xué)習(xí)的算法來(lái)實(shí)現(xiàn)。所以,我們需要拓展filter的功能,使它可以支持深度學(xué)習(xí)算法。 當(dāng)我們將深度學(xué)習(xí)的算法加入到FFmpeg的Filter之后,F(xiàn)ilter就擁有了很多計(jì)算機(jī)視覺(jué)相關(guān)的算法。那么它與比如說(shuō)OpenCV的計(jì)算機(jī)視覺(jué)軟件包有什么關(guān)系?這個(gè)問(wèn)題我們可以從兩個(gè)角度來(lái)看:在支持深度學(xué)習(xí)算法之前,F(xiàn)Fmpeg與OpenCV是相互配合、相互支持的一種關(guān)系。例如在OpenCV中,可能需要先調(diào)用FFmpeg進(jìn)行視頻解碼,解碼完成后回到OpenCV中進(jìn)行相應(yīng)的計(jì)算機(jī)視覺(jué)算法應(yīng)用。此外,在FFmpeg中有一些Filter,這些Filter背后調(diào)用的就是OpenCV,通過(guò)這種方式來(lái)使用OpenCV中的一些算法功能。但是在比較新版本的OpenCV中,接口語(yǔ)言切換成了C++,而在FFmpeg中要求的是C代碼和并且調(diào)用的是C庫(kù)的接口, 因此FFmpeg基于OpenCV的Filter就很難用上OpenCV的最新算法功能,所以在這種情況下就很有必要在FFmpeg增加深度學(xué)習(xí)模塊來(lái)支持多個(gè)Filter應(yīng)用深度學(xué)習(xí)算法。 從另外一個(gè)角度來(lái)看,在之前,對(duì)于計(jì)算機(jī)視覺(jué)的算法開(kāi)發(fā)者來(lái)說(shuō),會(huì)在OpenCV中進(jìn)行算法實(shí)現(xiàn),代碼完成后基本不太可能再次在其它應(yīng)用中重新實(shí)現(xiàn)一次,那么這也就造成了很多的計(jì)算機(jī)視覺(jué)算法都只在類似于OpenCV的軟件包中完成。而在深度學(xué)習(xí)模塊,算法實(shí)現(xiàn)的載體已經(jīng)從以前的代碼變成了模型文件,模型文件可以很容易的分發(fā)出去,被各個(gè)軟件包通過(guò)恰當(dāng)?shù)姆绞竭M(jìn)行加載、執(zhí)行,從而實(shí)現(xiàn)一些深度學(xué)習(xí)算法的功能。綜上所述,無(wú)論從什么角度來(lái)看,我們都有必要在FFmpeg中增加深度學(xué)習(xí)相應(yīng)的模塊。在增加深度學(xué)習(xí)模塊之后,對(duì)于FFmpeg的開(kāi)發(fā)者來(lái)說(shuō)開(kāi)發(fā)工作會(huì)更靈活,速度更快。想象一下,在這之前對(duì)于FFmpeg的開(kāi)發(fā)者來(lái)說(shuō),需要首先調(diào)用FFmpeg的API進(jìn)行解碼,解碼完成后,再編寫(xiě)代碼或者調(diào)用第三方庫(kù)等實(shí)現(xiàn)深度學(xué)習(xí)算法的應(yīng)用,最后再回到FFmpeg中進(jìn)行編碼。而深度學(xué)習(xí)模塊就相當(dāng)于將之前用戶需要自行開(kāi)發(fā)的深度學(xué)習(xí)實(shí)現(xiàn)相關(guān)的部分轉(zhuǎn)移到FFmpeg內(nèi)部,以Filter的形式對(duì)外暴露,因此對(duì)于FFmpeg的開(kāi)發(fā)者來(lái)說(shuō)開(kāi)發(fā)變得更加便捷。

2 FFmpeg深度學(xué)習(xí)模塊的發(fā)展歷史

其實(shí)在2018年FFmpeg才開(kāi)始支持深度學(xué)習(xí)模塊,是經(jīng)過(guò)一個(gè)GsoC項(xiàng)目,即谷歌關(guān)于鼓勵(lì)在校學(xué)生做實(shí)習(xí)生的活動(dòng),鼓勵(lì)大家進(jìn)入各個(gè)開(kāi)源社區(qū)做一些代碼工作。因?yàn)榫唧w的代碼實(shí)現(xiàn)一般都在7、8月份,所以稱為Summer of Code,項(xiàng)目的效果還不錯(cuò)。2018年我主要通過(guò)郵件參與討論深度學(xué)習(xí)模塊如何應(yīng)用,但在GsoC2018完成之后,發(fā)現(xiàn)沒(méi)人進(jìn)行接下來(lái)的維護(hù)。于是在2019年,我基于這一部分做了很多工作,包括貢獻(xiàn)了絕大部分的代碼。除此之外,大師兄劉歧還帶了一個(gè)GsoC2019的項(xiàng)目,帶領(lǐng)一名北大的學(xué)生基于深度學(xué)習(xí)的模塊做了些有關(guān)Filter的工作。2019年年底,我成為了深度學(xué)習(xí)模塊的Maintainer。 到了2020年,發(fā)生了一個(gè)比較大的變化是我們將OpenVINO(英特爾的一個(gè)深度學(xué)習(xí)的推理引擎)加入到了FFmpeg的深度學(xué)習(xí)模塊中,同時(shí)也開(kāi)展了一個(gè)GsoC項(xiàng)目,希望將深度學(xué)習(xí)模塊中的一些功能進(jìn)行優(yōu)化,能夠使用匯編語(yǔ)言做一些速度的提升。希望在2021年看到GsoC2021在FFmpeg深度學(xué)習(xí)模塊中的一些項(xiàng)目進(jìn)展。

3 FFmpeg深度學(xué)習(xí)模塊總體架構(gòu)

深入到FFmpeg中看一下深度學(xué)習(xí)模塊的總體架構(gòu):FFmpeg是由多個(gè)庫(kù)組成的,上圖左邊列出了部分:libavcodec是音視頻解碼相關(guān)的、libavdevice是音視頻輸入輸出相關(guān)的、libavformat是如何將音視頻碼流組合到一個(gè)文件中、libswscale是對(duì)視頻幀的一些處理、libswresample是對(duì)音頻數(shù)據(jù)的重采樣,以及所有util相關(guān)的Tool放在libavutil中。與深度學(xué)習(xí)模塊密切相關(guān)的是libavfilter模塊,因?yàn)槲覀兊纳疃葘W(xué)習(xí)模塊目前主要是為Filter服務(wù)的,所以放在libavfilter模塊中。對(duì)外,我們的深度學(xué)習(xí)模塊可能會(huì)調(diào)用TensorFlow的 C動(dòng)態(tài)庫(kù),也可以調(diào)用OpenVINO的C動(dòng)態(tài)庫(kù),也就是說(shuō)需要提前在系統(tǒng)中安裝TensorFlow或者OpenVINO的C庫(kù)的.so文件、.h文件等等。 對(duì)于libavFilter內(nèi)部,前面提到,我們可以有很多基于深度學(xué)習(xí)算法的Filter,也可以調(diào)用多個(gè)深度學(xué)習(xí)模塊,所以中間出現(xiàn)DNN接口層,對(duì)Filter以及下面的backend進(jìn)行解耦。目前系統(tǒng)中有三個(gè)Filter與深度學(xué)習(xí)算法相關(guān)。第一個(gè)是Super-Resolution的Filter,是在GsoC2018的項(xiàng)目中加入的,支持了兩個(gè)算法模型:一個(gè)是ESPCN,即輸入的是一張低分辨率的圖片,輸出的是高分辨率圖片,模型直接進(jìn)行超分應(yīng)用;另外一個(gè)模型叫做SRCNN,首先將一張低分辨率的圖片經(jīng)過(guò)快速放大,變成一張高分辨率但質(zhì)量較為一般的圖片,這張圖片經(jīng)過(guò)SRCNN算法之后,分辨率保持不變、圖片質(zhì)量會(huì)變得更好,在后面我們會(huì)用到SRCNN算法舉例進(jìn)行說(shuō)明。 第二個(gè)Filter叫derain:輸入一個(gè)RGB格式的圖片,調(diào)用的模型的算法可以將圖片中的雨滴去除掉,這是在GsoC2019完成的。我們分析前面兩個(gè)Filter就會(huì)發(fā)現(xiàn),其實(shí)這兩個(gè)Filter實(shí)現(xiàn)的算法功能是在模型文件中體現(xiàn)的,在Filter里面的代碼更多的是將FFmpeg的數(shù)據(jù)結(jié)構(gòu)與模型文件的輸入輸出進(jìn)行連接。因此從這個(gè)角度來(lái)看,我們就沒(méi)有必要為每一個(gè)算法功能實(shí)現(xiàn)一個(gè)Filter,我們可以做一個(gè)比較general的Filter —— dnn_processing。只要調(diào)用這個(gè)Filter,無(wú)論模型文件提供的算法功能是什么,只要將FFmpeg與模型文件執(zhí)行前后的數(shù)據(jù)流串通起來(lái),就可以實(shí)現(xiàn)任何與圖像處理相關(guān)算法的支持。 下面一層就是三個(gè)backend:TensorFlow backend對(duì)外調(diào)用TensorFlow的C動(dòng)態(tài)庫(kù),OpenVINO backend就會(huì)對(duì)外調(diào)用OpenVINO的C動(dòng)態(tài)庫(kù)。如果考慮到系統(tǒng)中既沒(méi)有TensorFlow也沒(méi)有OpenVINO,我們可以選擇轉(zhuǎn)換到Native backend,即相應(yīng)的代碼實(shí)現(xiàn)都在FFmpeg代碼樹(shù)中,可以直接拿來(lái)用。后面將會(huì)以Super-Resolution里面的算法模型為例,通過(guò)dnn_processing這個(gè)Filter舉例說(shuō)明如何使用這三個(gè)不同的后端。

4 FFmpeg深度學(xué)習(xí)模塊接口

目前接口主要分為三塊:第一,有一個(gè)最基本的函數(shù),輸入的是backend type,可選值是Native backend、TensorFlow backend或者OpenVINO backend,根據(jù)這個(gè)backend會(huì)返回一個(gè)DNNModule。在DNNModule數(shù)據(jù)結(jié)構(gòu)中首先要做的就是給出模型文件所在的路徑,告知Module加載模型文件,加載完成后會(huì)在Filter中進(jìn)行判斷,查詢加載的模型輸入的信息(包括輸入NHWC中的每個(gè)維度的數(shù)字是什么,formate是float32、RGB還是int8等等)。查到相關(guān)信息后再與FFmpeg的數(shù)據(jù)流進(jìn)行比較是否能夠匹配,如果channel的數(shù)據(jù)匹配不上,則返回error,如果是其它的一些數(shù)據(jù)結(jié)構(gòu)的大小有變化的話,可以提前做一些scale的轉(zhuǎn)換,或者做color spaceconvertion的一些變換。當(dāng)一切都變換好之后,我們就會(huì)在為模型設(shè)置好輸入、輸出之后完成執(zhí)行。當(dāng)然,用set_input_output來(lái)設(shè)置模型的輸入/輸出主要是將輸入/輸出的變量名字告知Model,方便后續(xù)執(zhí)行時(shí)清楚的知道要將FFmpeg的數(shù)據(jù)填充到模型的哪個(gè)地方,以及模型的哪個(gè)地方是輸出,獲取到輸出的數(shù)據(jù)重新放到FFmpeg的pipeline里。然后對(duì)每個(gè)Filter進(jìn)行這樣的操作,做模型的推理,當(dāng)所有的碼流或者圖片執(zhí)行完畢之后,執(zhí)行Model即可。以上就是深度學(xué)習(xí)模塊主要接口的使用方法。

5 三種后端應(yīng)用實(shí)例

5.1 重現(xiàn)編譯FFmpeg

前面提到深度學(xué)習(xí)模塊有三種后端,分別是OpenVINO、TensorFlow和Native。下面舉例說(shuō)明應(yīng)該如何應(yīng)用:首先第一步,TensorFlow backend在默認(rèn)編譯FFmpeg時(shí)是非enable的,所以我們需要加入一個(gè)選項(xiàng),告知FFmpeg的build system,需要enable TensorFlow。在此之前我們要在Tensorflow的官方網(wǎng)站下載1.14(建議)版本,解壓、安裝到系統(tǒng)目錄下,包括.h文件和.so文件,然后再在configure進(jìn)行以上配置,就可以生成支持TensorFlow backend的FFmpeg的可執(zhí)行程序了。 如果需要用的是Native backend,任何選項(xiàng)都不需要加,因?yàn)橄鄳?yīng)的代碼已經(jīng)直接寫(xiě)在代碼樹(shù)中。 如果是使用OpenVINO backend,則與Tensorflow backend類似,也要加入選項(xiàng),告知FFmpeg接下來(lái)我們要啟用OpenVINO backend。一般來(lái)說(shuō),OpenVINO的默認(rèn)安裝目錄不是系統(tǒng)目錄,所以需要增加一些額外的cflags,指出OpenVINO的頭文件在哪里,用ldflags指出OpenVINO的.so庫(kù)在哪里。在configure的同時(shí),其內(nèi)部會(huì)寫(xiě)一個(gè)最簡(jiǎn)單的OpenVINO應(yīng)用程序進(jìn)行編譯并且執(zhí)行,只有一切都通過(guò),才會(huì)啟用OpenVINO的后端,因此前面需要加LD_LIBRARY_PATH指出OpenVINO的.so所在的位置。 通過(guò)這樣的方式,我們就可以得到三種后端,即Tensorflow+backend的后端、Native+backend的后端或者OpenVINO+backend的后端,得出的結(jié)果都是一個(gè)可執(zhí)行的程序,叫ffmpeg或者ffplay等等。 5.2 準(zhǔn)備SR模型文件

準(zhǔn)備好可執(zhí)行的程序之后,我們就可以準(zhǔn)備Super-Resolution的模型文件了。首先我們要來(lái)準(zhǔn)備TensorFlow格式的模型文件。一開(kāi)始這個(gè)是在vf_sr.c的Filter中寫(xiě)的,也就是說(shuō)我們需要下載一個(gè)第三方的庫(kù),運(yùn)行python腳本,就會(huì)生成srcnn.pb。這就是基于Tensorflow格式的模型文件,包括了已經(jīng)訓(xùn)練好的數(shù)據(jù)。 在這個(gè)基礎(chǔ)上,如果我們需要使用Native backend,就需要在我們的FFmpeg/tools/python目錄下調(diào)用convert.ty這個(gè)python腳本,它的輸入就是Tensorflow的pb文件srcnn.pb。然后會(huì)生成在FFmpeg中自定義的一種新的格式——srcnn.model文件,這個(gè).model文件就可以被Native backend加載和執(zhí)行,這是我們?cè)贔Fmpeg中自定義出來(lái)的,比較簡(jiǎn)潔。 如果需要使用OpenVINO后端,其實(shí)OpenVINO可以支持多個(gè)不同格式,例如Tensorflow格式、通過(guò)中間轉(zhuǎn)換的方式支持pyTorch格式,支持ONNX格式等等。OpenVINO的源代碼中有一個(gè)model-optimizer目錄,在這個(gè)目錄中有若干python腳本。例如mo_tf.py腳本文件就可以將Tensorflow格式的模型文件轉(zhuǎn)換為OpenVINO支持的格式,OpenVINO的模型文件有兩個(gè),分別是.xml和.bin文件,我們只需要將這兩個(gè)模型文件放在同一個(gè)目錄下即可。 如果大家想重現(xiàn)上述內(nèi)容,而轉(zhuǎn)換又比較麻煩的話,大家可以在圖中最下方的網(wǎng)址中下載相應(yīng)文件。 5.3 應(yīng)用SR算法

準(zhǔn)備好相應(yīng)的程序和模型文件后,接下來(lái)要執(zhí)行的FFmpeg的命令行如圖所示。 TensorFlow backend命令行: -i:輸入文件是什么。一般來(lái)說(shuō)FFmpeg處理的是視頻。在這里為了方便展示,我們輸入一個(gè).jpg文件,解碼之后就經(jīng)過(guò)若干的Filter。由于我們的模型需要的是YUV格式,我們首先應(yīng)用了format的Filter進(jìn)行格式的轉(zhuǎn)換,以確保輸出的是YUV格式。然后我們調(diào)用scale的Filter,其目的是為了將輸入圖片的長(zhǎng)和寬簡(jiǎn)單的放大一倍,得到高分辨率低質(zhì)量的一張圖片。這張圖片再經(jīng)過(guò)dnn_processing的Filter,就可以變成相同分辨率高質(zhì)量的圖片。在該Filter中的參數(shù)部分,我們需要指出后端是Tensorflow,其模型文件是什么,以及模型的輸入輸出的變量名是什么,才能將FFmpeg的數(shù)據(jù)結(jié)構(gòu)與模型串聯(lián)。 如我們需要的是Native backend,只需要改變backend的flag,并改變模型文件的文件名即可。同樣的,對(duì)于OpenVINO來(lái)講,其它參數(shù)都保持不變,只要將OpenVINO的flag傳進(jìn)去,并調(diào)整模型文件為srcnn.xml。Filter會(huì)根據(jù)flag經(jīng)過(guò)dnn interface再調(diào)用希望應(yīng)用的backend,最終完成相應(yīng)的算法功能。

6 下一步計(jì)劃

那么接下來(lái)我們會(huì)有哪些新的實(shí)現(xiàn)計(jì)劃? 第一,我們現(xiàn)在執(zhí)行的是同步的處理,即給到一個(gè)frame,執(zhí)行完畢后才會(huì)返回,這樣在有些時(shí)候會(huì)影響整體效率。因此接下來(lái)我們會(huì)實(shí)現(xiàn)一個(gè)異步的執(zhí)行,即在接收到一個(gè)視頻幀后,直接將視頻幀輸入到深度學(xué)習(xí)模塊中,在推理完成之前返回調(diào)用,希望能夠加快處理的速度。并且在這個(gè)基礎(chǔ)上,我們就可以支持batch support,也就是每次推理并非一幀一幀進(jìn)行,而是支持一次多幀的處理,盡可能用上下面硬件的并行處理功能。 除此之外,剛才一直強(qiáng)調(diào)的模型的輸入輸出與FFmpeg的數(shù)據(jù)結(jié)構(gòu)之間需要做一些恰當(dāng)?shù)霓D(zhuǎn)換。由于模型的輸入千變?nèi)f化,存在很大可能性,而目前只是支持一些比較固定模式的轉(zhuǎn)化,因此希望后續(xù)可以加入一些比較靈活的轉(zhuǎn)化。再接下來(lái),因?yàn)椴煌腷ackend會(huì)有自己的特性,需要單獨(dú)設(shè)置flag,那么我們就需要在接口中為每個(gè)backend實(shí)現(xiàn)其私有的操作選項(xiàng),從Filter向下傳遞到相應(yīng)的backend中。另外,從Filter的角度來(lái)講,其實(shí)還有很多事情是可以做的。例如目前增加的Filter只是可以用來(lái)對(duì)圖片進(jìn)行處理,而沒(méi)有實(shí)現(xiàn)分析的功能,例如檢測(cè)和識(shí)別等這些都是下一步需要做的。甚至包括音頻相關(guān)的Filter,例如將識(shí)別音頻轉(zhuǎn)化為文字內(nèi)容等等。 最后以FFmpeg深度學(xué)習(xí)模塊Maintainer的角色,非常歡迎大家對(duì)FFmpeg深度學(xué)習(xí)模塊提出建議或意見(jiàn),包括增加更多的基于深度學(xué)習(xí)模塊的Filter,歡迎大家一起討論。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5610

    瀏覽量

    124652
  • ffmpeg
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    8034

原文標(biāo)題:FFmpeg深度學(xué)習(xí)模塊的歷史、現(xiàn)狀和計(jì)劃

文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TMS320F28335學(xué)習(xí)之中斷和定時(shí)器的相關(guān)內(nèi)容

    本次總結(jié)為中斷和定時(shí)器的相關(guān)內(nèi)容。除了基本的寄存器配置,初始化,中斷主要是掌握三級(jí)中斷制,定時(shí)器主要關(guān)注定時(shí)器的工作原理和中斷時(shí)間的設(shè)置。
    的頭像 發(fā)表于 11-08 10:17 ?5223次閱讀
    TMS320F28335<b class='flag-5'>學(xué)習(xí)</b>之中斷和定時(shí)器的<b class='flag-5'>相關(guān)內(nèi)容</b>

    。。。。GSM的相關(guān)內(nèi)容(包含AT)

    GSM相關(guān)內(nèi)容(短消息,AT指令,例程)。。。。
    發(fā)表于 07-21 19:42

    量子力學(xué)經(jīng)典相關(guān)內(nèi)容附圖使之更易理解

    量子力學(xué)經(jīng)典相關(guān)內(nèi)容附圖使之更易理解2020-8-1
    發(fā)表于 08-01 22:24

    單片機(jī)之驅(qū)動(dòng)能力的相關(guān)內(nèi)容解析

    來(lái)源:互聯(lián)網(wǎng)單片機(jī)是個(gè)比較復(fù)雜的課題,但是如果你找到正確的學(xué)習(xí)方式你就會(huì)覺(jué)得單片機(jī)一點(diǎn)都不難,下面跟著小編學(xué)習(xí)下單片機(jī)篇之驅(qū)動(dòng)能力的部分相關(guān)內(nèi)容~
    發(fā)表于 10-22 19:02

    GPIO中斷相關(guān)內(nèi)容 精選資料分享

    芯片:STM32 F412這里只寫(xiě)GPIO中斷相關(guān)內(nèi)容打開(kāi)STM32CubeMX,鼠標(biāo)左鍵點(diǎn)擊需要設(shè)置GPIO中斷的引腳,選擇GPIO_EXTI*,鼠標(biāo)右鍵點(diǎn)擊可以設(shè)置自定義LABEL設(shè)置GPIO
    發(fā)表于 08-13 08:54

    小白求助,機(jī)甲大師機(jī)器人軟件單元測(cè)試的相關(guān)內(nèi)容

    小白求助,機(jī)甲大師機(jī)器人軟件單元測(cè)試的相關(guān)內(nèi)容
    發(fā)表于 11-22 06:15

    簡(jiǎn)單描述一下Arduino相關(guān)內(nèi)容

    什么是Arduino,今天就針對(duì)初學(xué)者簡(jiǎn)單描述一下 Arduino 相關(guān)內(nèi)容。一、初識(shí)Arduino要了解Arduino就先要了解什么是單片機(jī),Arduino平臺(tái)的基礎(chǔ)其實(shí)就是AVR指令集的單片機(jī)。1、什么是...
    發(fā)表于 11-23 08:38

    分享一個(gè)RK3288主板適配LVDS分辨率相關(guān)內(nèi)容

    分享一個(gè)RK3288主板適配LVDS分辨率相關(guān)內(nèi)容
    發(fā)表于 03-04 07:24

    高云半導(dǎo)體時(shí)序約束的相關(guān)內(nèi)容

    本手冊(cè)主要描述高云半導(dǎo)體時(shí)序約束的相關(guān)內(nèi)容,包含時(shí)序約束編輯器(Timing Constraints Editor)的使用、約束語(yǔ)法規(guī)范以及靜態(tài)時(shí)序分析報(bào)告(以下簡(jiǎn)稱時(shí)序報(bào)告)說(shuō)明。旨在幫助用戶快速
    發(fā)表于 09-29 08:09

    永康泰沖擊波參數(shù)及相關(guān)內(nèi)容

    永康泰沖擊波參數(shù)及相關(guān)內(nèi)容,招標(biāo)文件參數(shù)。
    發(fā)表于 05-09 15:22 ?2次下載

    淺析彈簧管壓力儀表的相關(guān)內(nèi)容

    彈簧管壓力表屬于就地指示型壓力表,就地顯示壓力的大小,不帶遠(yuǎn)程傳送顯示、調(diào)節(jié)功能。在化工場(chǎng)合運(yùn)用非常廣泛,接下來(lái)就為大家全面的介紹一下彈簧管壓力儀表的相關(guān)內(nèi)容
    的頭像 發(fā)表于 09-17 09:35 ?4713次閱讀

    USB HID介紹及USB協(xié)議的相關(guān)內(nèi)容USB設(shè)備描述符資料概述

    HID是一種USB通信協(xié)議,無(wú)需安裝驅(qū)動(dòng)就能進(jìn)行交互,在學(xué)習(xí)HID之前,先來(lái)復(fù)習(xí)一下USB協(xié)議的相關(guān)內(nèi)容
    發(fā)表于 11-02 15:15 ?28次下載
    USB HID介紹及USB協(xié)議的<b class='flag-5'>相關(guān)內(nèi)容</b>USB設(shè)備描述符資料概述

    CANOpen系列教程01_ 初識(shí)CAN與CANOpen及相關(guān)內(nèi)容

    CANOpen系列教程01_初識(shí)CAN與CANOpen及相關(guān)內(nèi)容
    的頭像 發(fā)表于 03-07 16:15 ?1.5w次閱讀

    關(guān)于CoreSight中調(diào)試和跟蹤的相關(guān)內(nèi)容

    講講關(guān)于CoreSight中調(diào)試和跟蹤的相關(guān)內(nèi)容。 strongerHuang 1 調(diào)試和跟蹤功能 CoreSight兩個(gè)主要功能就是調(diào)試和跟蹤功能。 1.調(diào)試功能 運(yùn)行處理器的控制,允許啟動(dòng)和停止
    的頭像 發(fā)表于 11-03 16:10 ?2979次閱讀

    AXI_GP接口和AXI_HP接口的相關(guān)內(nèi)容

    學(xué)習(xí)關(guān)于ZYNQ IP核中的GP接口和HP接口的異同,介紹關(guān)于AXI_GP接口和AXI_HP接口的相關(guān)內(nèi)容。
    的頭像 發(fā)表于 07-03 14:17 ?5249次閱讀
    两当县| 措美县| 肥城市| 门头沟区| 赞皇县| 左云县| 高阳县| 桐柏县| 临安市| 婺源县| 河北省| 开鲁县| 祁阳县| 荆州市| 温宿县| 黔江区| 江西省| 嘉义县| 敖汉旗| 永修县| 赫章县| 阳谷县| 祁东县| 庆阳市| 类乌齐县| 玉门市| 普定县| 新源县| 绥芬河市| 湟中县| 道孚县| 兰考县| 平阳县| 宜阳县| 手游| 米脂县| 新沂市| 平利县| 天镇县| 东阳市| 青阳县|