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

正文內(nèi)容

嵌入式linux系統(tǒng)下開發(fā)usb攝像頭圖像采集系統(tǒng)論文(文件)

2025-07-16 13:28 上一頁面

下一頁面
 

【正文】 API進行視頻采集程序的設計。在運行程序前,一定要先加載USB及OV511設備驅(qū)動模塊,同時加載Video4Linux模塊,分別使用命令:modprobe usbcore,modprobe usbohci,modprobe videodev和modprobe ov511,以確保生成設備文件/dev/video,若使用的Linux操作系統(tǒng)不支持modprobe命令,也可使用insmod命令。 /*打開設備文件*/ Struct video_capability grab_capability。 Ioctl(fd,VIDIOCGPICT,amp。 struct video_mmap grab_buf。 /*圖像寬度*/=VIDEO_PALETTE_RGB24。 在此基礎上同樣可實現(xiàn)連續(xù)幀的采集,即一次采集連續(xù)多幀圖像的數(shù)據(jù),Video4Linux最多支持一次采集32幀,而每一幀的數(shù)據(jù)在內(nèi)存中的位置為data+[frame],其中g(shù)rab_vm為video_mbuf結(jié)構(gòu)體變量的一個聲明,利用ioct1(fd,VIDIOCGMBUF,&grab_vm)便可獲得grab_vm的信息。 (2)進圖像數(shù)據(jù)存成各種格式(例如bmp),在各種GUI軟件中,均會直接顯示不同格式的圖像的函數(shù),如MiniGui中的FillBoxWithBitmap函數(shù)。ioctl(.amp。從vinfo和finfo中取得顯存起始地址、分辨率、色深等信息,然后根據(jù)這些計算出需映射顯存的大小。 需要注意的是,對于色深為8位或8位以下的設備,在進行繪圖操作前還需要設置合適的調(diào)色板,操作調(diào)色板要用到fb_camp結(jié)構(gòu),執(zhí)行ioctl(fd,F(xiàn)BIOGETCMAP,&old_cmap)將保存調(diào)色板信息,執(zhí)行ioctl(fd,F(xiàn)BIO-PUTCMAP,&new_cmap)將設置新的調(diào)色板。y=100。*(fbp+location+2)=200。Linux內(nèi)核、圖形界面系統(tǒng)及文件系統(tǒng)的安裝二、在使用makeLinux,這使得內(nèi)核被配置了Video4Linux,為視頻采集設備提供了編程接口;在菜單中選擇USBOV511圖形界面系統(tǒng)的編譯與安裝Sitsang板使用的是基于Qt/Embedded的圖形界面系統(tǒng),Qt/Embedded的編譯主要分為三個步驟:一、編譯Qt/X11,Qt/X11是運行在IBM兼容PC中標準Linux這上的,這主要為Qt/Embedded及其應用程序提供圖形編譯環(huán)境及仿真運行環(huán)境;二、編譯Qt/Embedded,Qt/Embedded為在嵌入式Linux平臺上運行的圖形界面系統(tǒng)及應用程序提供一系列的函數(shù)庫;三、編譯Qtopia,通過使用Qt/X11提供的編譯工具以及Qt/Embedded提供的函數(shù)庫,編譯出最終基于嵌入式Linux平臺的圖形界面系統(tǒng)及該環(huán)境下的應用程序。除了類庫以外,Qt/Embedded還包含幾個加快和簡化開發(fā)的工具。Qt/Embedded最主要的優(yōu)勢就是它不需要X服務器的支持,這使得它相對于其他的方案如Qt/X11更節(jié)省內(nèi)存。如果不想編譯支持國際化功能,可以定義QT_NO_I18N預處理信號。(1)窗體系統(tǒng):一個Qt/Embedded窗口系統(tǒng)包括一個或多個進程,其中一個進程被指定為服務器。 客戶與服務器之間通過共享內(nèi)存來實現(xiàn)通信。它啟動一個外部程序并且通過寫一個標準輸入和讀取外部程序的標準輸出和標準錯誤碼來進行通信。Qt/Embedded還支持NEC Vr41XX和iPAQ觸摸屏。Qtopia提供了四種輸入方法:手寫識別,圖形QWERTY鍵盤,Unicode鍵盤和基于字典方式的提取板。第二步,將下載下來的安裝包放在同一個目錄下面,這里假設為~/pxa270Qt,下面開始解壓縮安裝包并且設置環(huán)境變量:① 安裝Tmakecd ~/pxa270Qttar –xzf export TMAKEDIR=$PWD/②cd ~/pxa270Qttar –xzf export TMAKEDIR=$PWD/③ 安裝Qt cd ~/pxa270Qttar –xzf export QT2DIR=$PWD/④ 安裝Qt/Embeddedcd ~/pxa270Qttar –xzf export QTEDIR=$PWD/環(huán)境變量的設置是非常重要的,它關(guān)系到能否正確的安裝及編譯這些安裝包,下面介紹一下這些環(huán)境變量: TMAKEDIR : 指向用于編譯Qt/Embedded的Tmake 工具QT2DIR : 指向QtX11 的文件夾QTEDIR : 指向QtEmbedded 的文件夾第三步,編譯Qt/Embedded必須要通過以下三步來完成① Build Qt cd $QT2DIRexport TMAKEPATH=$TMAKEDIR/lib/linuxg++export QTDIR=$QT2DIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH./configure noxftmakemkdir $QTEDIR/bincp bin/uic $QTEDIR/bin/./configure是對Qt/X11進行配置,它包括很多選項,例如可以通過添加“ noopengl”等,如果想要進一步了解可以通過鍵入 ./configure help來獲得更多的幫助信息。③ Build Qt/Embeddedcd $QTEDIRexport TMAKEPATH=$TMAKEDIR/lib/qws/linuxx86g++export QTDIR=$QTEDIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH./configure noxft qvfb depths 4,8,16,32 make在配置./configure中qvfb用來支持Virtual framebuffer,depths 4,8,16,32支持4位,8位,16位,32位的顯示深度,此外還可以添加如syestemjpeg和gif來提供對jpeg和gif的支持。G39。no39。sleep 10./launcher qws以上介紹的是在宿主機上開發(fā)Qt/Embedded應用程序所需軟件的安裝及環(huán)境變量的設置等,通過上面的例子可以看到,Qt/Embedded的應用程序可以在Virtual framebuffer方式下運行,這其實是X11虛擬了一個framebuffer。圖14 virtual framebuffer下的Qt/Embedded演示DemoHello,Qt/Embedded! 下面我們通過一個簡單的例子來簡要的介紹一下Qt編程語言。8 helloshow()。第5行創(chuàng)建了一個QApplication對象,用于管理整個程序的資源,它需要2個參數(shù),因為Qt本身需要一些命令行的參數(shù)。在QLabel函數(shù)中的參數(shù)0表示,這是一個窗口而不是嵌入到其它窗口中的部件。第9行把程序的控制權(quán)交還給Qt,這時候程序進入就緒模式,可是隨時被用戶行為激活,例如點擊鼠標、敲擊鍵盤等。TEMPLATE = appCONFIG = qt warn_on releaseHEADERS =SOURCES = INTERFACES =②生成Makefile文件Qt提供了生成Makefile文件的工具tmake,這極大地方便了應用程序的開發(fā),節(jié)省了大量的時間,而且還可根據(jù)不同平臺的需要生成適合于不同平臺的Makefile文件。sleep 10./hello qws顯示結(jié)果如下:圖15 virtual framebuffer下運行結(jié)果我們可以通過對QLabel *hello = new QLabel(Hello Qt/Embedded!, 0)這句進行修改,使我們的程序顯示起來更為美觀,修改如下:QLabel *hello=new QLabel(h2fontcolor=blueHelloiQt/Embedded!/i /font /h2, 0)。二、系統(tǒng)調(diào)試:編譯文件啟動開發(fā)板傳送文件運行文件觀察結(jié)果調(diào) 試 循 環(huán)圖17 系統(tǒng)調(diào)試結(jié)束語在大連理工大學城市學院學習的四年中,各位任課老師在學習上給予了我悉心指導和熱情的幫助,讓我感受到了他們的高尚品格,使我終身受益,在此向他們表示我最崇高的敬意和衷心的感謝。同時他那嚴謹?shù)墓ぷ鲬B(tài)度,和對知識的探索性,也給我?guī)砹撕艽蟮挠绊?,在同兩位老師的學習過程中,我不但學到了很多知識,還學習到了很多在課本上學習不到的人生態(tài)度。所以,學校和任課教師的幫助是漫長和不易表現(xiàn)的,他們都是我們的默默幫助者,在這里再想他們表示衷心的感謝。 。定義幀采集顯示{ //for frame buffer int fb。 //src must be RGB24 format void (*fb_draw)(struct fb_dev *fbdev, void* src, int x, int y, int width, int height)。 。幀顯示設備文件//static char *default_framebuffer=/dev/f。static char *default_framebuffer=/dev/fb/0。 void (*fb_draw2)(struct fb_dev *fbdev, void* src, int x, int y, int width, int height)。 //frame buffer mmap int fb_width, fb_height, fb_line_len, fb_size。 }。以上是調(diào)用系統(tǒng)文件define _GNU_SOURCE 。這些因素為我完成論文的設計,提供了先決條件,使我在完成論文過程中遇到困難的時候能夠更從容的面對。在我的論文撰寫過程中,于老師和金老師都給了我很大的幫助。 文件配置在選擇模塊后,要將這些模塊對應的頭文件或者相關(guān)的文件加以合理的配置,使他們能夠滿足我們所要編寫文件的需要。最后在命令行中輸入 “make”命令就可以對整個程序進行編譯鏈接了,最終生成了一個二進制的可執(zhí)行文件hello。要在本機上運行還需要幾個必不可少的步驟:① 生成工程文件(.pro)每一個Qt程序都對應著一個工程文件,因為tmake工具要借此工程生成相應的Makefile文件。如果沒有主部件的話,即使用戶關(guān)閉了窗口程序也會在后臺繼續(xù)運行。在Qt中,部件是一個可視化用戶接口,按鈕、菜單、滾動條都是部件的實例。10 }現(xiàn)在開始逐行講解一下每一句是什么意思。6 QLabel *hello = new QLabel(Hello Qt/Embedded!, 0)。這樣對于開發(fā)人員就不需要總是刷新嵌入式設備上的Flash空間,從而縮短了編譯、鏈接和執(zhí)行的周期。第四步,查看運行結(jié)果,如果上面各步都能夠成功的編譯通過,下面就可以通過運行Qt/Embedded自帶的demo來查看運行結(jié)果。yes39。詳細的配置信息可以通過運行./configure help命令來查看。② Build Qvfbexport TMAKEPATH=$TMAKEDIR/lib/linuxg++export QTDIR=$QT2DIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHcd $QTEDIR/tools/qvfbtmake o Makefile makemv qvfb $QTEDIR/bin/這一步build qvfb并建立了從Qt/Embedded 。選擇安裝包應基于下面的原則:在選擇下載了某個版本的Qt/Embedded以后,在下載Qt for X11的時候要注意一定要下載比Qt/Embedded舊的版本,因為在編譯連接Qt/Embedded的時候要用到Qt for X11編譯連接后生成的uic等工具。 Qt/Embedded支持標準的101鍵盤和Vr41XX按鍵,客戶鍵盤和其他非指示設備的支持可以通過從QWSKeyboardHandler的派生子類來實現(xiàn)。Qt/Embedded還可以通過對子類QfontFactory的添加或者以插件的形式來實現(xiàn)對其它字體的支持。 Qt/Embedded提供了兩種通信機制,客戶可以通過QCOP通道來交換信息,服務器簡單廣播QCOP消息給所有監(jiān)聽指定通道的應用程序,接著應用程序把一個插槽連接到一個received()信號上,從而對消息作出相應。服務進程還能夠提供輸入方法和一個用戶接口來運行客戶應用程序。大部分用戶配置庫的大小在1500KB到4000KB之間2. Qt/Embedded的體系結(jié)構(gòu)Qt/Embedded為帶有輕量級的窗口系統(tǒng)的嵌入式設備提供了標準的Qt API。Qt/Embedded的庫可以通過編譯去掉不使用的功能而得到精簡。圖12 Qt/Embedded與Qt/X11的比較1. Qt/Embedded的系統(tǒng)需求Qt/Embedded 可以運行在被Linux支持的并且有C++編譯器的處理器上,目
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1