<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式Linux視頻采集系統的設計與實(shí)現

嵌入式Linux視頻采集系統的設計與實(shí)現

作者: 時(shí)間:2012-04-20 來(lái)源:網(wǎng)絡(luò ) 收藏

在本中,程序主要用到的一些調用函數如下:open(“/dev/video0”,O_RDWR):設備的打開(kāi)。

close(fd):設備的關(guān)閉。

mmap(voidaddr,size_tlen,intprot,intflags,intfd,off_toffset):設備緩沖區到內存空間的映射。

munmap(voidaddr,size_tlen):工作結束后取消mmap和mbuf的綁定。

ioctl(intfd,intcmd,。。。):控制I/O通道。

4。2。2程序的1)打開(kāi)攝像頭首先對上面提到的類(lèi)進(jìn)行初始化,接下來(lái)利用調用函數_fd=open(“devfile”,O_RDWR),該函數的功能是打開(kāi)參數devfile指定的設備,對于攝像頭用設備文件名“/dev/video0”表示,_fd是設備打開(kāi)后返回的文件描述符,以后可以直接使用它來(lái)對設備文件進(jìn)行操作。

2)獲取攝像頭參數通過(guò)ioctl(_fd,VIDIOCGCAP,capability)函數來(lái)讀取structvideo_capability結構中有關(guān)攝像頭的信息。ioctl(int_fd,intcmd,。。。)主要是用來(lái)控制I/O通道,函數成功返回后使用printf函數得到各成員分量信息,接著(zhù)調用ioctl(_fd,VIDIOCGWIN,window)和ioctl(_fd,VIDIOCGPICT,picture)函數讀取structvideo_window信息和攝像頭緩沖區中的video_picture圖像信息。

3)設置攝像頭緩沖區中圖像參數在攝像頭數據前,可根據需求修改圖像參數如分辨率等,具體方法為先給分量賦新值,再調用函數ioctl(_fd,VIDIOCSPICT,picture)。

4)數據的讀取與read()方式相比,mmap()方式通過(guò)把設備文件映射到內存,繞過(guò)了內核緩沖區,加速了I/O訪(fǎng)問(wèn)。完成內存映射之后,就可以用mmap()方式對內存映射區域視頻數據的單幀采集。此方式下真正做視頻截取的為VIDIOCMCAPTURE,調用函數ioctl(_fd,VIDIOCMCAPTURE,mmap),激活設備并真正開(kāi)始一幀圖像的截取,是非阻塞的,接著(zhù)調用ioctl(_fd,VIDIOCSYNC,frame)函數等待一幀圖像截取結束,成功返回表示一幀截取已完成,接著(zhù)可以做下一次的VIDIOCMCAPTURE操作。

經(jīng)過(guò)上述的幾個(gè)過(guò)程,系統完成了對USB攝像頭的驅動(dòng)、對視頻數據的采集工作,捕獲到的視頻幀被映射到內存區域,如果要對視頻數據進(jìn)行壓縮等處理工作則可通過(guò)訪(fǎng)問(wèn)內存映射區域進(jìn)行。

5結語(yǔ)作為網(wǎng)絡(luò )視頻監控系統的一部分,本方案基于目前市場(chǎng)上主流的ARM處理器與操作系統,了視頻數據的實(shí)時(shí)采集,整個(gè)系統數字化、網(wǎng)絡(luò )化程度高,與傳統的采集系統相比有較大優(yōu)勢。經(jīng)辦公室局域網(wǎng)測試,該系統實(shí)時(shí)性好、穩定可靠、圖像質(zhì)量也比較優(yōu)越,可廣泛應用在交通、銀行、工業(yè)監控及視頻會(huì )議等眾多領(lǐng)域。目前該項目產(chǎn)生的經(jīng)濟效益約為20萬(wàn)元。

本文作者創(chuàng )新點(diǎn):了一個(gè)基于的視頻采集系統,詳細介紹了Video4下USB攝像頭驅動(dòng)和視頻采集程序的實(shí)現過(guò)程。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>