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

正文內(nèi)容

嵌入式linux系統(tǒng)下開(kāi)發(fā)usb攝像頭圖像采集系統(tǒng)論文-文庫(kù)吧資料

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

【正文】 ct video_buffer。 在此基礎(chǔ)上同樣可實(shí)現(xiàn)連續(xù)幀的采集,即一次采集連續(xù)多幀圖像的數(shù)據(jù),Video4Linux最多支持一次采集32幀,而每一幀的數(shù)據(jù)在內(nèi)存中的位置為data+[frame],其中g(shù)rab_vm為video_mbuf結(jié)構(gòu)體變量的一個(gè)聲明,利用ioct1(fd,VIDIOCGMBUF,&grab_vm)便可獲得grab_vm的信息。grab_buf) /*采集圖像*/然后調(diào)用ioct1(grab_fd,VIDIOCSYNC,&frame)函數(shù),該函數(shù)成功返回則表示采集完畢,采集到的圖像數(shù)據(jù)放到以data為起始地址,長(zhǎng)度為2403203的內(nèi)存區(qū)域中,讀取該內(nèi)存中的數(shù)據(jù)便可得到圖像數(shù)據(jù)。 /*圖像寬度*/=VIDEO_PALETTE_RGB24。 /*一次只采集一幀*/=240。 struct video_mmap grab_buf。 /*獲得圖像的信息*/在獲取圖像信息后,還可根據(jù)需要改變這些信息,例如對(duì)比度、亮度、調(diào)色板等,具體做法是先給video_picture中相應(yīng)變量賦新值,再利用VIDIOCSPICT ioct1函數(shù)。 Ioctl(fd,VIDIOCGPICT,amp。grab_capability)。 /*打開(kāi)設(shè)備文件*/ Struct video_capability grab_capability。 圖11 基于Video4Linux圖像采集程序的流程程序的編寫(xiě),在這里只給出關(guān)鍵部分的實(shí)現(xiàn)代碼。在運(yùn)行程序前,一定要先加載USB及OV511設(shè)備驅(qū)動(dòng)模塊,同時(shí)加載Video4Linux模塊,分別使用命令:modprobe usbcore,modprobe usbohci,modprobe videodev和modprobe ov511,以確保生成設(shè)備文件/dev/video,若使用的Linux操作系統(tǒng)不支持modprobe命令,也可使用insmod命令。如果使用Video4Linux,在編譯內(nèi)核時(shí),一定要選中Multimedia Devices下的Video for Linux選項(xiàng),本文針對(duì)的設(shè)備文件是它以尋找自己所需要的數(shù)據(jù)。 使用Video4Linux模塊提供的API進(jìn)行視頻采集程序的設(shè)計(jì)。ov511。usbuhci、modprobe分別使用命令:modprobe在嵌入式Linux的內(nèi)核定制和編譯階段,已經(jīng)加入了對(duì)Video4Linux模塊以及OV511設(shè)備的支持,所以運(yùn)行在Linux下的視頻圖像采集程序,可以通過(guò)Video4Linux模塊提供的編譯接口(API)從OV511設(shè)備中獲取圖像幀。視頻采集模塊的設(shè)計(jì)它為我們提供了更方便的查看模式,我們可以把原程序在匯編和機(jī)器語(yǔ)言間切換,而且我們還可以單步執(zhí)行程序,能夠清晰的看出在程序運(yùn)行過(guò)程中,單片機(jī)每一個(gè)接口和存儲(chǔ)器的工作情況,這也是對(duì)開(kāi)發(fā)者最有利的方面。保存之后工程里就可以直接調(diào)入進(jìn)來(lái),并構(gòu)造目標(biāo)文件了。同時(shí)Linux仿真器還提供了豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)用工具。系統(tǒng)的設(shè)計(jì)可以被分為以下幾個(gè)大部分:嵌入式Linux內(nèi)核的移植和編譯,文件系統(tǒng)和圖形界面系統(tǒng)的安裝基于嵌入式Linux視頻采集模塊的設(shè)計(jì)視頻圖像壓縮模塊的設(shè)計(jì)基于嵌入式Linux的網(wǎng)絡(luò)視頻流服務(wù)模塊的設(shè)計(jì) 開(kāi)發(fā)環(huán)境及開(kāi)發(fā)工具系統(tǒng)在軟件程序設(shè)計(jì)過(guò)程中使用了Linux開(kāi)發(fā)環(huán)境,其是集項(xiàng)目管理編譯程序、工具配置、編輯器、高效的調(diào)試器的IDE,本系統(tǒng)在軟件編寫(xiě)時(shí)使用了高效的MCS51匯編語(yǔ)言。視頻信號(hào)的采集、壓縮和傳輸是建立在圖形界面和嵌入式Linux內(nèi)核之上的。Sitsang板使用的文件系統(tǒng)是針對(duì)Flash的無(wú)緩沖機(jī)制的jffs2文件系統(tǒng),文件系統(tǒng)中包含應(yīng)用程序、模塊、配置文件、圖形界面和庫(kù)等。圖8 整個(gè)圖像采集程序的流程圖如圖4所示。VIDIOCMCAPTURE用于開(kāi)始捕捉;VIDIOCSYNC用于等待捕捉完成。要進(jìn)行視頻捕捉必須用到VIDIOCMCAPTURE 和VIDIOCSYNC這兩個(gè)ioctl函數(shù)。 首先應(yīng)申請(qǐng)足夠大的內(nèi)核態(tài)內(nèi)存作為圖像數(shù)據(jù)緩存,將URB帶來(lái)的數(shù)據(jù)暫存;然后將其用remap_page_range函數(shù)映射到用戶(hù)態(tài)空間。 Linux系統(tǒng)中一般的文件操作是通過(guò)read、write等系統(tǒng)調(diào)用完成,但這些系統(tǒng)調(diào)用是通過(guò)內(nèi)核態(tài)與用戶(hù)態(tài)之間相互進(jìn)行數(shù)據(jù)拷貝實(shí)現(xiàn)的。這個(gè)標(biāo)準(zhǔn)定義了一套API接口,內(nèi)核、驅(qū)動(dòng)、應(yīng)用程序都以這個(gè)接口為標(biāo)準(zhǔn)進(jìn)行交流。獲得圖像的過(guò)程如圖所示。為了盡可能快地得到圖像數(shù)據(jù),需要加大URB的緩沖,這樣可以降低每個(gè)USB事務(wù)中握手信息所占的比例,提高有效數(shù)據(jù)傳輸比例。對(duì)于時(shí)間性極強(qiáng)但是準(zhǔn)確性不高的視頻捕捉應(yīng)用來(lái)說(shuō),攝像頭應(yīng)采用等時(shí)傳輸模式。USB主控制器驅(qū)動(dòng)USB主控制器驅(qū)動(dòng)USB COREUSB設(shè)備驅(qū)動(dòng)USB設(shè)備驅(qū)動(dòng)圖6USB設(shè)備驅(qū)動(dòng)程序不是通過(guò)I/O操作訪(fǎng)問(wèn)設(shè)備,而是通過(guò)USB Core提供的標(biāo)準(zhǔn)接口與設(shè)備交互,它采用由管道組成的通道與設(shè)備進(jìn)行通信。其中USBD負(fù)責(zé)管理所有HCD、設(shè)備驅(qū)動(dòng)和所有連接到USB總線(xiàn)上的設(shè)備,是USB主機(jī)軟件的核心。系統(tǒng)加載設(shè)備驅(qū)動(dòng)的方式有模塊加載和內(nèi)核初始化加載兩種:前者通過(guò)用戶(hù)使用insmod命令動(dòng)態(tài)加載到內(nèi)核中,通過(guò)rmmod命令卸載驅(qū)動(dòng)模塊;后者是把驅(qū)動(dòng)編進(jìn)內(nèi)核,在內(nèi)核初始化時(shí)自動(dòng)加載。其中,字符設(shè)備面向字符I/O操作,沒(méi)有緩沖,順序讀??;而塊設(shè)備面向數(shù)據(jù)塊,所有操作都通過(guò)內(nèi)核地址空間的I/O緩沖區(qū)完成,支持隨機(jī)存取操作。USB Core包含所有的USB設(shè)備和主控制器的一些通用操作,為向上和向下操作提供一個(gè)接口。LCD 接口如下: 圖4 LCD接口開(kāi)發(fā)板與PC機(jī)的連接:開(kāi)發(fā)板的串口UART0(J410)通過(guò)交叉串口線(xiàn)與 PC 主機(jī)的 COM0或者 COM1相連 開(kāi)發(fā)板的 USB 從口(USB DEVICE)與 PC 主機(jī)的 USB 口相連 開(kāi)發(fā)板的 JTAG 口通過(guò) 20PIN 排線(xiàn)與仿真器相連,仿真器再通過(guò)并口線(xiàn)與PC主機(jī)的并口相連 通過(guò)+5V 直流變壓器給開(kāi)發(fā)板供電 如圖所示:圖5 PC機(jī)與硬件系統(tǒng)連接第四章 系統(tǒng)軟件設(shè)計(jì) 軟件系統(tǒng)概述Liunx系統(tǒng)中對(duì)USB設(shè)備的支持是通過(guò)如圖6所示的結(jié)構(gòu)實(shí)現(xiàn)的。S3C2410芯片集成了液晶控制器,支持 TFT 彩屏,最高分辨率可達(dá) 680 480;支持單色,4 級(jí)灰度,16 級(jí)灰度,256 色及 4096 色 STN LCD,最高分辨率為 640*480,開(kāi)發(fā)板已經(jīng)預(yù)留有 LCD 接口,用戶(hù)可通過(guò)該接口轉(zhuǎn)接不同類(lèi)型不同尺寸的 LCD 屏。因此,不但反應(yīng)時(shí)間可以極大地提高,起碼可以到80ms左右,而且對(duì)比度和亮度也大大提高了,同時(shí)分辨率也達(dá)到了空前程度。這樣就出現(xiàn)了將薄膜晶體管(TFT)、或薄膜二極管、或金屬-絕緣體-金屬(MIM)等非線(xiàn)性有源元件集成到顯示組件中的有源技術(shù),用來(lái)驅(qū)動(dòng)每個(gè)像素點(diǎn),使每個(gè)像素都能保持一定電壓,達(dá)到100%的占空化,但這無(wú)疑是將增加設(shè)備的功耗。從而可以做到高速度、高亮度、高對(duì)比度顯示屏幕信息。TFT(Thin Film Transistor)即薄膜場(chǎng)效應(yīng)晶體管。HPA一般稱(chēng)為高性能定址或快速DSTN。由于DSTN分上下兩屏同時(shí)掃描,上下兩部分會(huì)出現(xiàn)刷新不同步,所以當(dāng)元件的性能不佳時(shí),一般在使用過(guò)程中,顯示屏中央會(huì)出現(xiàn)一條模糊的水平亮線(xiàn)。   其實(shí)DSTNLCD并非真正的彩色顯示器,它只能顯示一定的顏色深度,與CRT的顏色顯示特性相距較遠(yuǎn),因而又稱(chēng)為“偽彩顯”。用戶(hù)能感覺(jué)到拖尾(余輝),一般俗稱(chēng)為“偽彩”。STN和DSTN的反應(yīng)時(shí)間都較慢,一般約為300ms左右。DSTN是由超扭曲向列型顯示器(STN)發(fā)展而來(lái)的,由于DSTN采用雙掃描技術(shù),因而顯示效果較STN有大幅度提高。具體參數(shù)比較見(jiàn)表2。液晶顯示器的類(lèi)型(按物理結(jié)構(gòu)分類(lèi))LCD按照物理結(jié)構(gòu),可以分為雙掃描無(wú)源陣列顯示器(DSTN LCD)和薄膜晶體管有源陣列顯示器(TFTLCD)。TFT還改善了STN閃爍(水波紋)模糊的現(xiàn)象,有效地提高了播放動(dòng)態(tài)畫(huà)面的能力。常見(jiàn)的液晶顯示器按物理結(jié)構(gòu)分為四種:  (1)、扭曲向列型(TN-Twisted Nematic)   (2)、超扭曲向列型(STN-Super TN)   (3)、雙層超扭曲向列型(DSTN-Dual Scan Tortuosity Nomograph)  (4)、薄膜晶體管型(TFT-Thin Film Transistor) TFTThinFilmTransistor薄膜晶體管是有源矩陣類(lèi)型液晶顯示器AMLCD中的一種,TFT在液晶的背部設(shè)置特殊光管,可以“主動(dòng)的”對(duì)屏幕上的各個(gè)獨(dú)立的像素進(jìn)行控制,這也就是所謂的主動(dòng)矩陣TFT(activematrixTFT)的來(lái)歷,這樣可以大大地提高反應(yīng)時(shí)間,一般TFT的反應(yīng)時(shí)間比較快,約80ms,而STN則為200ms,如果要提高就會(huì)有閃爍現(xiàn)象發(fā)生。 LCD液晶顯示模塊LCDLiquid Crystal Display,中文多稱(chēng)“液晶平面顯示器”或“液晶顯示器”。 開(kāi)發(fā)板采用兩片半字(halfword)SDRAM 器件共同組成一個(gè) 32 位數(shù)據(jù)寬度的SDRAM系統(tǒng),提高了其與 CPU 的通信效率。S3C2410專(zhuān)有接口特性:表1 S3C2410專(zhuān)有接口特性序號(hào)名稱(chēng)描述1COMI32KEBOARD3CONLCDLCD/STN液晶屏借口(),可以接各種單色,偽彩,真彩液晶屏,含有觸摸屏接口4CONGPIOGPIO等接口(),含有10個(gè)中斷引腳,6路AD輸入,1個(gè)SPI接口,2個(gè)時(shí)鐘輸出,2個(gè)GPIO口5BUSCON總線(xiàn)接口(44針地址數(shù)據(jù)線(xiàn),14針控制線(xiàn)),帶有16位數(shù)據(jù)線(xiàn),25位地址線(xiàn)等信號(hào)系統(tǒng)存儲(chǔ)器英蓓特公司 S3C2410 開(kāi)發(fā)板上的存儲(chǔ)器包括 SDRAM 和 FLASH。(10)、支持SDRAM掉電模式下的自刷新。(8)、兩個(gè)存儲(chǔ)器BANK用于ROM、SRAM、和SDRAM(同步隨機(jī)存儲(chǔ)器)。(6)、一共8個(gè)存儲(chǔ)器BANK。(4)、BANK0到BANK6為固定起始地址。系統(tǒng)管理:(1)、小端/大端支持(2)、地址空間:每個(gè)BANK128MB(全部為1GB)。(22)、ARM920T CPU核支持ARM調(diào)試的體系結(jié)構(gòu)。(20)、帶MMU的先進(jìn)的體系結(jié)構(gòu)支持WinCE、EPOC3Linux。(18)、設(shè)計(jì)用于手持設(shè)備和通用嵌入式系統(tǒng)。(16)、帶日歷功能的實(shí)時(shí)時(shí)鐘。(14)、電源控制模式:標(biāo)準(zhǔn)、慢速、休眠、掉電。(12)、56個(gè)中斷源。(10)、看門(mén)狗定時(shí)器。(8)、兩個(gè)USB HOST,一個(gè)USB DEVICE()。(5)、3個(gè)通用異步串行端口(,16Byte Tx FIFO and 16Byte Rx FIFO),2通道SPI(6)、一個(gè)多主I2C總線(xiàn),一個(gè)I2S總線(xiàn)控制器。(3)、LCD控制器,一個(gè)LCD專(zhuān)業(yè)DMA。開(kāi)發(fā)板特性及資源:S3C2410 CPU集成了大量的功能單元,包括:(1)、外部I/,16KB數(shù)據(jù)Cache,16KB指令Cache,MMU。第三章 系統(tǒng)硬件介紹 硬件連接圖連接宿主機(jī)RS232接口JTAGFLASH存儲(chǔ)器ARM數(shù)碼攝像頭SDRAM256色LCD圖3 S3C2410平臺(tái)硬件結(jié)構(gòu)框圖 S3C2410 CPUS3C2410 CPU是韓國(guó)三星公司推出的基于A(yíng)RM920T內(nèi)核和AMBA總線(xiàn)的微處理器; CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元工藝;集成LCD、UART、IIC、SPI、IIS、USB、SD 控制器等片內(nèi)外圍設(shè)備;支持ROM和NAND Flash引導(dǎo),單片機(jī)具有結(jié)構(gòu)簡(jiǎn)單、控制功能強(qiáng)、可靠性高、體積小、價(jià)格低等優(yōu)點(diǎn),在許多行業(yè)都得到了廣泛應(yīng)用。Qtopia PDA版(Qtopia PDA)是一個(gè)強(qiáng)大的平臺(tái)專(zhuān)用于基于Linux操作系統(tǒng)的PDA個(gè)人數(shù)字助理設(shè)備許多PDA都已采用了QtopiaQtopia PDA版已經(jīng)成了事實(shí)上的Linux 標(biāo)準(zhǔn)它代表了可行的第三種PDA設(shè)計(jì)方案Qtopia PDA版具有可定制的用戶(hù)界面支持多種不同的屏幕尺寸以及橫向和縱向布局。它包括三個(gè)版本:Qtopia手機(jī)版Qtopia PDA版和Qtopia消費(fèi)電子產(chǎn)品平臺(tái)。使用標(biāo)準(zhǔn)的Qt API,應(yīng)用程序可以在常用的Windows和Unix編程環(huán)境下開(kāi)發(fā)。如果不考慮X Window系統(tǒng)的需要,Qt/Embedded應(yīng)用程序可以直接對(duì)Framebuffer進(jìn)行寫(xiě)操作。下面列出了TrollTech公司成立至今的重大事件:1. 1994: Trolltech公司在挪威首都奧斯陸成立2. 1996:第一個(gè)商業(yè)版本的Qt發(fā)布3. 1998: KDE free Qt 基金會(huì)成立4. 1999: Qt 2發(fā)布5. 2000: Qt/Embedded發(fā)布6. 2000: 發(fā)布了使用GPL標(biāo)準(zhǔn)的Qt/X117. 2001: Qtopia被夏普公司采用8. 2001: Qt 3發(fā)布9. 2002: TermBuilder發(fā)布10. 2003: QSA 發(fā)布11. 2003: 發(fā)布了使用GPL標(biāo)準(zhǔn)的Qt/Mac12. 2004: Qtopia Phone發(fā)布 Qt/Embedded是一個(gè)為嵌入式設(shè)備上GUI和應(yīng)用程序開(kāi)發(fā)而設(shè)計(jì)的C++工具開(kāi)發(fā)包。 二、Qt簡(jiǎn)介 Qt是一個(gè)跨平臺(tái)的C++圖形用戶(hù)界面庫(kù),由挪威的TrollTech公司出品,目前包括Qt, 基于 Framebuffer 的 Qt Embedded
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1