全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
V4L2編程V4L2是針對(duì)UVC免驅(qū)USB設(shè)備的編程框架,主要用于采集USB攝像頭等,編程模式如下一設(shè)置采集方式打開視頻設(shè)備后,可以設(shè)置該視頻設(shè)備的屬性,例如裁剪、縮放等。這一步是可選的。在LINUX編程中,一般使用IOCTL函數(shù)來對(duì)設(shè)備的I/O通道進(jìn)行管理EXTERNINTIOCTLINT_FD,UNSIGNEDLONGINT_REQUEST,_THROW_FD設(shè)備的ID,例如剛才用OPEN函數(shù)打開視頻通道后返回的CAMERAFD;_REQUEST具體的命令標(biāo)志符。在進(jìn)行V4L2開發(fā)中,一般會(huì)用到以下的命令標(biāo)志符VIDIOC_REQBUFS分配內(nèi)存VIDIOC_QUERYBUF把VIDIOC_REQBUFS中分配的數(shù)據(jù)緩存轉(zhuǎn)換成物理地址VIDIOC_QUERYCAP查詢驅(qū)動(dòng)功能VIDIOC_ENUM_FMT獲取當(dāng)前驅(qū)動(dòng)支持的視頻格式VIDIOC_S_FMT設(shè)置當(dāng)前驅(qū)動(dòng)的頻捕獲格式VIDIOC_G_FMT讀取當(dāng)前驅(qū)動(dòng)的頻捕獲格式VIDIOC_TRY_FMT驗(yàn)證當(dāng)前驅(qū)動(dòng)的顯示格式VIDIOC_CROPCAP查詢驅(qū)動(dòng)的修剪能力VIDIOC_S_CROP設(shè)置視頻信號(hào)的邊框VIDIOC_G_CROP讀取視頻信號(hào)的邊框VIDIOC_QBUF把數(shù)據(jù)從緩存中讀取出來VIDIOC_DQBUF把數(shù)據(jù)放回緩存隊(duì)列VIDIOC_STREAMON開始視頻顯示函數(shù)VIDIOC_STREAMOFF結(jié)束視頻顯示函數(shù)VIDIOC_QUERYSTD檢查當(dāng)前視頻設(shè)備支持的標(biāo)準(zhǔn),例如PAL或NTSC。這些IO調(diào)用,有些是必須的,有些是可選擇的。二一般操作流程(視頻設(shè)備)1打開設(shè)備文件。INTFDOPEN”/DEV/VIDEO0,O_RDWR2取得設(shè)備的CAPABILITY,看看設(shè)備具有什么功能,比如是否具有視頻輸入,或者音頻輸入輸出等。VIDIOC_QUERYCAP,STRUCTV4L2_CAPABILITYV4L2_STD_IDSTDDORETIOCTLFD,VIDIOC_QUERYSTD,WHILERET1SWITCHSTDCASEV4L2_STD_NTSC/CASEV4L2_STD_PAL/3選擇視頻輸入,一個(gè)視頻設(shè)備可以有多個(gè)視頻輸入。VIDIOC_S_INPUT,STRUCTV4L2_INPUT可不要4設(shè)置視頻的制式和幀格式,制式包括PAL,NTSC,幀的格式個(gè)包括寬度和高度等。VIDIOC_S_STD,VIDIOC_S_FMT,STRUCTV4L2_STD_ID,STRUCTV4L2_FORMATSTRUCTV4L2_FORMATFMT/V4L2_FORMAT結(jié)構(gòu)如下STRUCTV4L2_FORMATENUMV4L2_BUF_TYPETYPE/數(shù)據(jù)流類型,必須永遠(yuǎn)是V4L2_BUF_TYPE_VIDEO_CAPTUREUNIONSTRUCTV4L2_PIX_FORMATPIXSTRUCTV4L2_WINDOWWINSTRUCTV4L2_VBI_FORMATVBI_U8RAW_DATA200FMTSTRUCTV4L2_PIX_FORMAT_U32WIDTH/寬,必須是16的倍數(shù)_U32HEIGHT/高,必須是16的倍數(shù)_U32PIXELFORMAT/視頻數(shù)據(jù)存儲(chǔ)類型,例如是YUV422還是RGBENUMV4L2_FIELDFIELD_U32BYTESPERLINE_U32SIZEIMAGEENUMV4L2_COLORSPACECOLORSPACE_U32PRIV/樣例MEMSETFMTTYPEV4L2_BUF_TYPE_VIDEO_CAPTUREFMTFMTPIXWIDTH320FMTFMTPIXHEIGHT240FMTFMTPIXPIXELFORMATV4L2_PIX_FMT_JPEGIFIOCTLFD,VIDIOC_S_FMT,/RETURN05向驅(qū)動(dòng)申請(qǐng)幀緩沖,一般不超過5個(gè)。STRUCTV4L2_REQUESTBUFFERSSTRUCTV4L2_REQUESTBUFFERS_U32COUNT/緩存數(shù)量,也就是說在緩存隊(duì)列里保持多少張照片ENUMV4L2_BUF_TYPETYPE/數(shù)據(jù)流類型,必須永遠(yuǎn)是V4L2_BUF_TYPE_VIDEO_CAPTUREENUMV4L2_MEMORYMEMORY/V4L2_MEMORY_MMAP或V4L2_MEMORY_USERPTR_U32RESERVED2樣例STRUCTV4L2_REQUESTBUFFERSREQMEMSETREQCOUNT4REQTYPEV4L2_BUF_TYPE_VIDEO_CAPTUREREQMEMORYV4L2_MEMORY_MMAPIFIOCTLFD,VIDIOC_REQBUFS,/RETURN16申請(qǐng)物理內(nèi)存將申請(qǐng)到的幀緩沖映射到用戶空間,這樣就可以直接操作采集到的幀了,而不必去復(fù)制。將申請(qǐng)到的幀緩沖全部入隊(duì)列,以便存放采集到的數(shù)據(jù)VIDIOC_QBUF,STRUCTV4L2_BUFFERVIDEOBUFFERBUFFERSCALLOCREQCOUNT,SIZEOFVIDEOBUFFERPRINTF“SIZEOFVIDEOBUFFERISDN“,SIZEOFVIDEOBUFFERSTRUCTV4L2_BUFFERBUFFORNUMBUFS0NUMBUFSREQCOUNTNUMBUFSMEMSETBUFTYPEV4L2_BUF_TYPE_VIDEO_CAPTUREBUFMEMORYV4L2_MEMORY_MMAPBUFINDEXNUMBUFSIFIOCTLFD,VIDIOC_QUERYBUF,/RETURN1PRINTF“BUFLENISDN“,SIZEOFBUF/內(nèi)存映射BUFFERSNUMBUFSLENGTHBUFLENGTHBUFFERSNUMBUFSOFFSETSIZE_TBUFMOFFSETBUFFERSNUMBUFSSTARTMMAPNULL,BUFLENGTH,PROT_READ|PROT_WRITE,MAP_SHARED,FD,BUFMOFFSETPRINTF“BUFFERSLENGTHD,BUFFERSOFFSETD,BUFFERSSTART0DN“,BUFFERSNUMBUFSLENGTH,BUFFERSNUMBUFSOFFSET,BUFFERSNUMBUFSSTART0PRINTF“BUF2LENISDN“,SIZEOFBUFFERSNUMBUFSSTARTIFBUFFERSNUMBUFSSTARTMAP_FAILEDPERROR“BUFFERSERRORN“/RETURN1IFIOCTLFD,VIDIOC_QBUF,/RETURN17開始視頻的采集。ENUMV4L2_BUF_TYPETYPETYPEV4L2_BUF_TYPE_VIDEO_CAPTUREIFIOCTLFD,VIDIOC_STREAMON,/RETURN18出隊(duì)列以取得已采集數(shù)據(jù)的幀緩沖,取得原始采集數(shù)據(jù)。VIDIOC_DQBUF,將緩沖重新入隊(duì)列尾,這樣可以循環(huán)采集。VIDIOC_QBUFIFIOCTLFD,VIDIOC_DQBUF,/RETURN1BUFTYPEV4L2_BUF_TYPE_VIDEO_CAPTUREBUFMEMORYV4L2_MEMORY_MMAPUNSIGNEDCHARPTCURBUFFERSNUMBUFSSTARTDEBUG“BUFBYTESUSEDDN“,BUFBYTESUSEDINTI1FORI10I1BUFBYTESUSEDI1IFBUFFERSNUMBUFSSTARTI10X000000FFBREAKIFI1BUFBYTESUSEDPRINTF“HUFFMANTABLEDONTEXISTN“INTIFORI0IBUFBYTESUSEDIIFBUFFERSNUMBUFSSTARTI0X000000FFPTCURDEBUG“ID,FF02X,D802XN“,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年職業(yè)教育教師技能操作指導(dǎo)教學(xué)與實(shí)踐應(yīng)用題庫
- 2026年心理測試與輔導(dǎo)訓(xùn)練題目
- 2026年化學(xué)實(shí)驗(yàn)技能測試題常見化學(xué)實(shí)驗(yàn)操作要點(diǎn)與注意事項(xiàng)
- 2026年建筑師職業(yè)資格考試建筑結(jié)構(gòu)與材料應(yīng)用
- 2026年機(jī)械工程師實(shí)踐指南機(jī)械設(shè)計(jì)與制造考點(diǎn)預(yù)測
- 2026年海事法規(guī)專業(yè)知識(shí)題海上違法行為處罰標(biāo)準(zhǔn)詳解
- 2026年企業(yè)人力資源管理人員等級(jí)考試試題
- 2026年電子工程技術(shù)實(shí)踐實(shí)操考試指南電子工程師專業(yè)認(rèn)證
- 2026年電力設(shè)備維護(hù)精度校準(zhǔn)模擬卷
- 2026屆浙江省“七彩陽光”數(shù)學(xué)高一下期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 華為完整版本
- 心血管-腎臟-代謝綜合征(CKM)綜合管理中國專家共識(shí)2025解讀課件
- 八年級(jí)英語下冊集體備課教案:Unit 8 Have you read Treasure Island yet P1
- (一模)太原市2025年高三年級(jí)模擬考試(一)英語試卷(含標(biāo)準(zhǔn)答案)
- DB31-T 1433-2023 揚(yáng)塵在線監(jiān)測技術(shù)規(guī)范
- 加油站應(yīng)急救援知識(shí)培訓(xùn)
- 非財(cái)務(wù)人員的財(cái)務(wù)管理培訓(xùn)通用課件
- 安全生產(chǎn)標(biāo)準(zhǔn)化績效考核評(píng)定報(bào)告
- 安徽永牧機(jī)械集團(tuán)有限公司年產(chǎn)10000噸鋼結(jié)構(gòu)加工項(xiàng)目環(huán)境影響報(bào)告表
- 就業(yè)單位提前退休申請(qǐng)書
- QSY136-2023年生產(chǎn)作業(yè)現(xiàn)場應(yīng)急物資配備選用指南
評(píng)論
0/150
提交評(píng)論