freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm的遠程監(jiān)控系統(tǒng)設(shè)計畢業(yè)論文-在線瀏覽

2024-08-04 16:34本頁面
  

【正文】 SVN 下載最新的mjpgstreamer mini2440 項目源代碼: cd /opt/mini6410/webcamera/ svn checkout ://mjpg streamer 輸入以下命令進行mjpgstreamer mini2440 read only 目錄: cd mjpgstreamer mini2440 read only 根據(jù)以下指示修改: 1) 用vi , 將內(nèi)容: ./mjpg_streamer o w ./ i y 修改成 ./mjpg_streamer o w ./ i y d /dev/video2 2) 用vi 編輯Makefile a) 在clean:處刪除 make C plugins/input_s3c2410 $ b) 再刪除以下內(nèi)容: : make C plugins/input_s3c2410 all CC=$(CC) cp plugins/input_s3c2410/ . c) 再到package: 處刪除以下兩行: \ \ 執(zhí)行以下命令進行編譯并打包: cd /opt/mini6410/ webcamera/ mjpgstreamer mini2440 read only / export CC=armlinuxgcc make make package 在當前目錄下會生成 mjpgstreamer mini2440 , 將它拷入 SD卡備用。 4. 基于V4L的視頻采集程序以及圖像壓縮理論 V4L2   Video for Linux two(Video4Linux2)簡稱V4L2,是V4L的改進版。在遠程會議、可視電話、視頻監(jiān)控系統(tǒng)和嵌入式多媒體終端中都有廣泛的應(yīng)用。一般來說,采用V4L2驅(qū)動的攝像頭設(shè)備文件是/dev/v4l/video0。V4L2支持兩種方式來采集圖像:內(nèi)存映射方式(mmap)和直接讀取方式(read)。Linux系統(tǒng)V4L2的能力可在Linux內(nèi)核編譯階段配置,默認情況下都有此開發(fā)接口?! ∫曨l輸出接口—— Video Output Interface?! ∫曨l輸出覆蓋接口——Video Output Overlay Interface。 應(yīng)用程序通過V4L2進行視頻采集的原理   V4L2支持內(nèi)存映射方式(mmap)和直接讀取方式(read)來采集數(shù)據(jù),前者一般用于連續(xù)視頻數(shù)據(jù)的采集,后者常用于靜態(tài)圖片數(shù)據(jù)的采集,本文重點討論內(nèi)存映射方式的視頻采集?! ∑浯?,申請若干視頻采集的幀緩沖區(qū),并將這些幀緩沖區(qū)從內(nèi)核空間映射到用戶空間,便于應(yīng)用程序讀取/處理視頻數(shù)據(jù)?! 〉谒?,驅(qū)動開始視頻數(shù)據(jù)的采集,應(yīng)用程序從視頻采集輸出隊列取出幀緩沖區(qū),處理完后,將幀緩沖區(qū)重新放入視頻采集輸入隊列,循環(huán)往復(fù)采集連續(xù)的視頻數(shù)據(jù)。 視頻采集的參數(shù)初始化  在Linux下,攝像頭硬件已經(jīng)被映射為設(shè)備文件“/dev/video0”,用open函數(shù)打開這個設(shè)備文件,獲得其文件描述符fd_v4l2,然后對這個文件描述符進行參數(shù)初始化。主要是對結(jié)構(gòu)體v4l2_crop賦值,v4l2_crop由一個v4l2_buffer_type枚舉類型的type和v4l2_rect類型的結(jié)構(gòu)體c構(gòu)成,來描述視頻采集窗口的類型和大小。c是表示采集窗口的大小的結(jié)構(gòu)體,它的成員Left和Top分別表示視頻采集區(qū)域的起始橫坐標和縱坐標,width和height分別表示采集圖像的寬度和高度?! truct v4l2_crop { enum v4l2_buf_type type。  }?! “裻ype賦值為視頻采集類型V4L2_BUF_TYPE_VIDEO_CAPTURE,表示定義了一個視頻采集流類型的buffer。需要設(shè)定pix里的幾個變量,pixelformat表示采集格式,設(shè)置為V4L2_PIX_FMT_YUV420。sizeimage表示圖像所占的存儲空間大小,以字節(jié)為單位。賦值后,用ioctl函數(shù)通過這個結(jié)構(gòu)體對fd_ v4l2進行設(shè)置?! nion  { struct v4l2_pix_format pix。 // V4L2_BUF_TYPE_VIDEO_OVERLAY  __u8 raw_data[200]。  }。type同上,由于選的是V4L2_BUF_TYPE_VIDEO_CAPTURE,所以僅需設(shè)定parm中的v412_capture型結(jié)構(gòu)體capture即可。而capturemode則表示采集模式,采集高質(zhì)量圖片值為1,一般設(shè)為0?! truct v4l2_streamparm  { enum v4l2_buf_type type。  struct v4l2_outputparm output。 /* userdefined */  } parm。 申請并設(shè)置視頻采集的幀緩沖區(qū)  前期初始化完成后,只是解決了一幀視頻數(shù)據(jù)的格式和大小問題,而連續(xù)視頻幀數(shù)據(jù)的采集需要用幀緩沖區(qū)隊列的方式來解決,即要通過驅(qū)動程序在內(nèi)存中申請幾個幀緩沖區(qū)來存放視頻數(shù)據(jù)。  應(yīng)用程序通過API接口提供的查詢方法(VIDIOC_QUERYBUF)查詢到幀緩沖區(qū)在內(nèi)核空間的長度和偏移量地址?! ?1)將幀緩沖區(qū)在視頻輸入隊列排隊,并啟動視頻采集  在驅(qū)動程序處理視頻的過程中,定義了兩個隊列:視頻采集輸入隊列(ining queues)和視頻采集輸出隊列(outgoing queues),前者是等待驅(qū)動存放視頻數(shù)據(jù)的隊列,后者是驅(qū)動程序已經(jīng)放入了視頻數(shù)據(jù)的隊列?! ?yīng)用程序需要將上述幀緩沖區(qū)在視頻采集輸入隊列排隊(VIDIOC_QBUF),然后可啟動視頻采集。驅(qū)動程序接下來采集下一幀數(shù)據(jù),放入第二個幀緩沖區(qū),同樣幀緩沖區(qū)存滿下一幀數(shù)據(jù)后,被放入視頻采集輸出隊列。  最后,應(yīng)用程序?qū)⑻幚硗陻?shù)據(jù)的幀緩沖區(qū)重新放入視頻采集輸入隊列,這樣可以循環(huán)采集,[16]:     視頻采集輸入和輸出隊列示意圖  (3)最終停止采集,釋放內(nèi)存幀緩沖區(qū) 用V4L2采集視頻的程序流程和相關(guān)API   V4L2采集視頻操作基本按照打開視頻設(shè)備、設(shè)置視頻格式、啟動視頻采集,循環(huán)處理視頻數(shù)據(jù)、停止視頻采集、關(guān)閉視頻設(shè)備,具體操作通過ioctl等函數(shù)來實現(xiàn)。int fd=open(/dev/video0,O_RDWR)。ioctl(fd_v4l, VIDIOC_QUERYCAP, amp。std_id)  設(shè)置視頻圖像的采集窗口的大小,使用ioctl(fd_v4l, VIDIOC_S_CROP, amp。fmt)  設(shè)置視頻的幀率,使用ioctl(fd_v4l, VIDIOC_S_PARM, amp。ctrl)  (4)向驅(qū)動申請視頻流數(shù)據(jù)的幀緩沖區(qū)  請求/申請若干個幀緩沖區(qū),一般為不少于3個,使用ioctl(fd_v4l, VIDIOC_REQBUFS, amp。buf)  (5)應(yīng)用程序通過內(nèi)存映射,將幀緩沖區(qū)的地址映射到用戶空間,這樣就可以直接操作采集到的幀了,而不必去復(fù)制。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1