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

正文內(nèi)容

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

2025-07-01 13:28本頁(yè)面
  

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