下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
性能牢靠等優(yōu)點。ARM9Linux操作系統(tǒng)、USB攝像頭,設(shè)計了一種便攜式圖像監(jiān)控設(shè)備,能夠?qū)崿F(xiàn)對動態(tài)視頻和靜態(tài)圖片的采集與存儲;預(yù)留的USBLED指示燈實現(xiàn)報警功能;缺乏150mm×100mm×30mm的尺寸使得設(shè)備具有較強(qiáng)的使S3C2410AMC2410E開發(fā)平臺上,搭接了承受Linux2.6.14內(nèi)核的移植,文件系統(tǒng)的構(gòu)建與移植,攝像頭驅(qū)動的移植,GPIO驅(qū)動程序以及監(jiān)控應(yīng)用軟件的設(shè)計與編寫;最終,對整個系統(tǒng)進(jìn)展了調(diào)試并給出了測試結(jié)果。關(guān)鍵詞:圖像監(jiān)控,嵌入式Linux,ARM9,驅(qū)動程序AbstractWiththeimprovementofthepublicsocialsafetyconsciousness,theimagemonitorsystemshavemuchmorewidespreadapplicationsinmanyfields,such as thefinancial institution,the resident house,the publicfacilities,thetrafficsystem,theindustryfieldwithoutanybodyandsoforth.Moreandmorerequirementsareavailableforthestudyofthedigitalimagemonitordevicesinviewofthesituation:alargenumberofapplicationsdemandtoreducethecostofmonitordevices;avarietyofapplication environments, scattered and isolated monitoring pointsrequirethatmonitordevicesshouldbeintegrated,miniaturizedandindependent;humanizeddesignsrequirethat monitordevicesshouldbeportableandmeanwhilebeofconvenientpowersupplyandreliableperformance.Inviewofthesenewproblemsandnewrequirements,thethesisdesignsaportableimagemonitordevicebasedonARM9embeddedLinuxoperatingsystemandusingUSBcamera.Thedevicecanrealizecollectionandstorageofdynamicvideoandstaticpicture,andtheimagedatacanbeexportedthroughareservedUSBinterfaceconveniently.LEDrealizes alarm fuction.The size 150mm×100mm×30mm enables thedevicetohavestrongconcealmentandmobility,andcanbeabletomeetthedemandingapplicationsaboutintegration,size,power,independence,portabilityandconcealment.Andthelowcostalsomakesthedevicehasbroadapplicationprospects.ThethesisrealizesthehardwaresystemwhichiscomposedofUSBcamera,keyanddevelopmentplatformMC2410EwhichisbasedonS3C2410Amicroprocessor;softwaredesigniscompletedwhichincludesLinux2.6.14kernelandfilesystemtransplant,cameraandGPIOdriverdevelopment,aswellastherealizationofmonitoringapplicationsoftware;finally,thewholesystemisdebuggedandthetestingresultsaregiven.Keywords:Imagemonitoring,EmbeddedLinux,ARM9,Devicedriver1章嵌入式圖像監(jiān)控系統(tǒng)總體方案.............................................1.1系統(tǒng)構(gòu)成和工作原理...............................................................................................1.2嵌入式圖像監(jiān)控系統(tǒng)設(shè)計方案...............................................................................1.2.1USB攝像頭的選擇...........................................................................................................1.2.2嵌入式微處理器的選擇....................................................................................................1.2.3嵌入式操作系統(tǒng)的選擇....................................................................................................1.3嵌入式圖像監(jiān)控系統(tǒng)硬件平臺設(shè)計.......................................................................1.4嵌入式圖像監(jiān)控系統(tǒng)軟件設(shè)計...............................................................................第2........................................................2.1監(jiān)控軟件總體構(gòu)造...................................................................................................2.1.1交互模式............................................................................................................................2.1.2系統(tǒng)功能............................................................................................................................2.1.3系統(tǒng)應(yīng)用程序流程............................................................................................................2.2多幀圖片采集...........................................................................................................2.2.1JPEG文件..........................................................................................................................2.2.2圖像采集方法....................................................................................................................2.2.3關(guān)鍵數(shù)據(jù)構(gòu)造....................................................................................................................2.2.4多幀圖片定時采集實現(xiàn)....................................................................................................2.3AVI視頻流文件采集................................................................................................2.4按鍵處理應(yīng)用程序設(shè)計...........................................................................................3章總結(jié)與展望............................................................................3.1總結(jié)與展望...............................................................................................................參考文獻(xiàn)......................................................................................................1系統(tǒng)構(gòu)成和工作原理系統(tǒng)構(gòu)建在嵌入式平臺之上,主要組成局部包括USB攝像頭、嵌入式開發(fā)板、用戶按鍵、USB電子硬盤、預(yù)留USBHOST接口、LED指示燈以及GPRS1.1所示。圖1.1系統(tǒng)構(gòu)造其中各個局部的說明如下:USB攝像頭負(fù)責(zé)采集圖像數(shù)據(jù);圖像數(shù)據(jù)導(dǎo)出等;用戶按鍵是系統(tǒng)供給應(yīng)用戶的人機(jī)交互方式視頻采集、圖像數(shù)據(jù)導(dǎo)出等;USB電子硬盤負(fù)責(zé)圖像數(shù)據(jù)的存儲;LED指示燈以及GPRS報警模塊負(fù)責(zé)當(dāng)有警情發(fā)生時進(jìn)展報警;預(yù)留的USBHOST接口便利用戶接入硬盤或U盤導(dǎo)出圖像數(shù)據(jù)。嵌入式圖像監(jiān)控系統(tǒng)設(shè)計方案括系統(tǒng)級軟件〔Bootloader、操作系統(tǒng)和驅(qū)動程序〕與用戶級軟件〔應(yīng)用程序〕的設(shè)計。USB攝像頭的選擇USB攝像頭是由鏡頭Len、圖像傳感器Senso、數(shù)字信號處理芯片DSDigitalSignalProcessoUSB件構(gòu)成,其中最關(guān)鍵的是鏡頭、圖像傳感器和DSP。USB攝像頭的選擇主要從以下三個方面考慮:鏡頭〔Lens〕鏡頭的組成是透鏡構(gòu)造,由幾片透鏡組成。一般有塑膠透鏡plasti〕或玻璃透鏡glas通常攝像頭用的鏡頭構(gòu)造有:1P、2P、1G1P、1G2P、2G2P、4G、5G等。承受玻璃鏡頭的攝像頭品質(zhì)好,成像效果相對塑膠鏡頭較好。因此,本課題選用的是玻璃鏡頭的攝像頭。圖像傳感器〔Sensor〕用的感光元件主要是CCDCMOSCCD的CCD相比,CMOS具有節(jié)能及本錢低等特點,而且在百萬像素內(nèi)CMOS的感光效果完CCDCMOS作為感光元件。綜合考慮,本課題選用CMOS感光元件的攝像頭。數(shù)字信號處理芯片DSPDSP通過一系列簡單的數(shù)學(xué)算法運(yùn)算,對數(shù)字圖像信號參數(shù)進(jìn)展優(yōu)化處理,并把處理后的信號通過USB等接口傳到PC等設(shè)備上。因此把握芯片的好壞,直接打算畫面品質(zhì)〔比方顏色飽和度、清楚度〕與流暢度。目前用于攝像頭的DSP主要有中國中星微〔VIMICRO〕公301OVOV511+301系列芯片擁有影像光源自動增益補(bǔ)強(qiáng)技術(shù),自動曝光、自動白平衡,顏色飽和度、比照度、邊緣增加以及伽馬矯正等格外平滑,視覺效果格外舒適。在國內(nèi)市場上的USB攝像頭根本上承受的是中星微公司的DSP芯片,而OV511+芯片的攝像頭則比較難找到??紤]到中星微的市場普及率,本課題選用含有中星微公司的ZC0301P芯片的攝像頭。嵌入式微處理器的選擇嵌入式微處理器是嵌入式系統(tǒng)的核心。選擇一款適宜的嵌入式微處理器應(yīng)當(dāng)從應(yīng)用工程背景、處理器性能、處理器功耗、開發(fā)本錢、開發(fā)難易程度等方面綜合考慮。目前,市面上的典型的嵌入式微處理器有ARM、MIPS、PowerPC等等[10,11]。ARM〔AdvancedRISCMachines〕16/32RISC微處理器學(xué)問產(chǎn)權(quán)設(shè)計供給商。ARM公司通過轉(zhuǎn)讓高性能、低本錢、低功耗的RISC微處理器、外圍和系統(tǒng)ARM已成為移動RISCARM處理器有三大特點:小體積、低功耗、低本錢而高性能;16/32位雙指令集;全球的合作伙伴眾多。MIPS32/64MIPS是MicroprocessorwithoutInter---lockedPipelineStages的縮寫,是一種處理器內(nèi)核標(biāo)準(zhǔn),它是MIPS技術(shù)公司開發(fā)的。MIPS技術(shù)公司是一家設(shè)計制造高性能、高檔次的嵌入式32位和64位處理器的廠商,在RISC處理器方面占有重要地位。2022年,MIPS公司公布了MIPS324Kc64MIPS6420Kc處理器內(nèi)核。PowerPC端的工作站、效勞器到臺式計算機(jī)系統(tǒng),從消費(fèi)類電子產(chǎn)品到大型通信設(shè)備,無所不包。PowerPC架構(gòu)的特點是可伸縮性好,便利機(jī)敏。PowerPC處理器品種很多,既有通用的處理器,又有嵌入式把握器和內(nèi)核,應(yīng)用范圍格外廣泛,從高端的工作站、效勞器到桌面計算機(jī)系統(tǒng),從消費(fèi)類電子產(chǎn)品到大型通信設(shè)備等各個方面。目前PowerPC獨立微處理器與嵌25MHz~700MHz不等,它們的能量消耗、大小、整合程度、價格差350MHz~700MHzPowerPC750CX750CXe以及主頻400MHz的PowerPC440GP等。嵌入式的PowerPC405〔主頻最高為266MHz〕和PowerPC440〔主頻最高為550MHz〕〔SOC〕設(shè)備上,在電信、金融和其它很多行業(yè)具有廣泛的應(yīng)用。相比之下,ARM價格低廉并且功耗很低,開發(fā)也相比照較簡潔。因此,本課題選用基于ARM920T芯片的S3C2410微處理器來進(jìn)展系統(tǒng)的設(shè)計和開發(fā)。嵌入式操作系統(tǒng)的選擇集以及應(yīng)用程序,大大提高了應(yīng)用系統(tǒng)的開發(fā)效率。嵌入式操作系統(tǒng)的選擇主要從以下三個方面考慮:操作系統(tǒng)的硬件支持,包括操作系統(tǒng)是否支持目標(biāo)硬件平臺,基于該選擇的操作系統(tǒng)上開發(fā)的嵌入式應(yīng)用軟件是否具有很好的移植性。開發(fā)工具的支持程度,包括在線仿真器、編譯器、匯編器、連接器、調(diào)試器等能否支持操作系統(tǒng)。應(yīng)用需求,包括操作系統(tǒng)的性能、兼容性、技術(shù)支持等。從20世紀(jì)80年月開頭,消滅了百余種嵌入式操作系統(tǒng),比較流行的有:WindowsCE、VxWorks、QNX、PalmOS等,但是開源并且免費(fèi)的的嵌入式操作系統(tǒng)只有uC/OS-IILinux[12,13]。WindowsCEWindowsCEWindowsCE能夠訪問Internet并收發(fā)Email或掃瞄WeWindowsCE特有的與Windows類似的用戶界面使最終用戶易于使用。WindowsCE的缺點是速度慢、效率低、價格偏高、開發(fā)應(yīng)用程序相對較難。VxWorksVxWorks是WindRiver公司的實時操作系統(tǒng)POSIX,ANSIC和TCP/IP網(wǎng)絡(luò)協(xié)議。VxWorks運(yùn)行系統(tǒng)的核心是一個高效率的微內(nèi)核,該微內(nèi)核支持各種實載并可快速響應(yīng)外部大事。目前在全世界裝有VxWorks系統(tǒng)的智能設(shè)備數(shù)以百萬計,其應(yīng)用范圍普及互聯(lián)網(wǎng)、電信和數(shù)據(jù)通信、數(shù)字影像、網(wǎng)絡(luò)、醫(yī)學(xué)、計算機(jī)外設(shè)、汽車、火控、導(dǎo)航與制導(dǎo)、航空、指揮、把握、通信和情報、聲納與雷達(dá)、空間與系統(tǒng)、模擬和測試等眾多領(lǐng)域。QNXQNX是由加拿大QSSL程組成,具有高度的伸縮性,可機(jī)敏地剪裁,最小配置只占用幾十KB內(nèi)存。因此,可以廣泛地嵌入到智能機(jī)器、智能儀器儀表、機(jī)頂盒、通訊設(shè)備、PDA等應(yīng)用中去。PalmOS3Com公司的PalmOS在掌上電腦和PDA用程序接口,開發(fā)商可依據(jù)需要自行開發(fā)所需的應(yīng)用程序。嵌入式LinuxLinuxLinux是源代碼開放軟件,任何人都Linux系統(tǒng)是可以定制的,系統(tǒng)內(nèi)核目前己經(jīng)可以做得很小。Linux作為一種可剪裁的軟件平臺系統(tǒng),Linux是指對Linux經(jīng)過小型化裁減后,能KB或幾MBLinux操作系統(tǒng)。綜合考慮,本課題承受嵌入式Linux操作系統(tǒng)來進(jìn)展開發(fā)。.本課題是基于嵌入式系統(tǒng)進(jìn)展硬件架構(gòu)的處理中的優(yōu)勢和其它方面如技術(shù)支持和設(shè)備條件等緣由,選用了三星公司的S3C2410A作為圖像處理和中心把握芯片。1.2所示。圖1.2 系統(tǒng)硬件構(gòu)造圖本課題的系統(tǒng)硬件電路,主要是在滿足圖像信號數(shù)據(jù)時序要求嚴(yán)格、數(shù)據(jù)量大、采集速度快等特點的狀況下,保證數(shù)據(jù)能夠穩(wěn)定牢靠的采集并實現(xiàn)壓縮、存儲和導(dǎo)出。1.USB攝像頭本課題選用Teclast臺電科技的MK55攝像頭。它擁有130萬像素的鏡頭,承受中星微ZC0301PLH主控芯片+原裝A+360彩色傳感器,保證了良好的畫面效果。攝像頭工作原理與過程如下:由CMOSISP單元來完成。本課題承受傳感器芯片MI360工作模式是:輸出區(qū)分率為640×480,圖像數(shù)據(jù)流8RGB格式。ZC301MI360所需的各種把握信號,并接收來自MI360的同步輸出信號。ZC301JPEG格式的圖像數(shù)據(jù)流。通過內(nèi)置的USB把握器和外接的USB收發(fā)器經(jīng)USB總線送往嵌入式把握系統(tǒng)。S3C2410USB把握芯片,所以它可以對ZC301USB接口直接操作。S3C2410通過對I/O口進(jìn)展把握來實現(xiàn)圖像的存儲。MC2410E開發(fā)板MC2410E開發(fā)板作為硬件平臺[15]。它由核心板與底板組成,便于用戶進(jìn)展二次開發(fā)。核心板上集成了三星公司的微處理器S3C2410A,64M Nand Flash〔K9F1208〕以及64M SDRAMHY57V561620,底板上集成了一些常規(guī)外設(shè)接口。S3C2410A微處理器MC2410E開發(fā)板選用三星公司S3C2410A芯片作為硬件平臺的中心處理器,其主頻工作在266MHz,負(fù)責(zé)完成全部的系統(tǒng)把握,如系統(tǒng)級別初始化、配置、用戶接口、用戶命令執(zhí)行ARM920TARM920T是高性能和低功耗特性方面最正確的通用系統(tǒng)封裝微處理器,它承受5級流水線,具有指令和數(shù)據(jù)Cache,支持協(xié)處理MMU等技術(shù),具有體積小、高性能、低功耗等優(yōu)點。目前,S3C2410已廣泛地應(yīng)用于PDA、智能手機(jī)、機(jī)頂盒、嵌入式網(wǎng)絡(luò)應(yīng)用、POS機(jī)、數(shù)字多媒體等方面。S3C2410AS3C2410A的主要片上功能[16]。_1.8VARM920T內(nèi)核供電,1.8V/2.5V/3.3V存儲器供電;_16KB16KB數(shù)據(jù)緩存的MMU內(nèi)存治理單元;_外部存儲器把握SDRAM把握和芯片選擇規(guī)律;_供給LCD把握器〔最大支持4K色的STN或256K色TFT的LC1個通道的LCD專用DMA把握器;_4通道DMA,具有外部懇求引腳;_3通道UART〔IrDA1.0,16字節(jié)發(fā)送FIFO16字節(jié)接收FIFO〕/2通道SPI接口;_1個通道多主IIC總線把握器/1通道IIS總線把握器;_兼容SD1.0MMC2.11版;_供給2個主機(jī)接口的USB口/1個設(shè)備USB口1.1版本;_4通道PWM定時器/1通道內(nèi)部計時器;_供給看門狗定時器;_117個通用I/O口/24通道外部中斷源;_供給電源把握不同模式:正常、慢速、空閑及電源關(guān)閉模式;_810位ADC;_供給帶日歷功能的實時時鐘把握器RT;_具有PLL的片上時鐘發(fā)生器。各模塊電路工作原理假設(shè)要將本課題設(shè)計的嵌入式圖像監(jiān)控系統(tǒng)進(jìn)一步產(chǎn)品化到的各模塊電路的原理圖設(shè)計及其工作原理。電源和復(fù)位電路通過5VLM1117芯片產(chǎn)生5V、3.3V系統(tǒng)電源。復(fù)位模塊通過按鍵、限流電阻接入S3C2410的nRESET腳。復(fù)位電路可完成系統(tǒng)上電復(fù)位和在系統(tǒng)工作時用戶按鍵復(fù)位。以下圖一所示為電源電路,以下圖二所示為復(fù)位電路。圖一 電源電路圖二 復(fù)位電路存儲模塊電路系統(tǒng)的存儲模塊包括SDRAM和ROM兩局部。在嵌入式系統(tǒng)中,ROM是一種可進(jìn)展電保存的用戶數(shù)據(jù)等;SDRAM是系統(tǒng)的內(nèi)存,它不具有掉電保持?jǐn)?shù)據(jù)的特性,但其存取速度大大高于Flash時,CPU首先從復(fù)位地址〔一般是0x00000000地址〕讀取啟動代碼,在完成系統(tǒng)的初始SDRAM中運(yùn)行以提高系統(tǒng)的運(yùn)行速度64MSDRAM和64MNANDFlash相結(jié)合,完成系統(tǒng)存儲電路的設(shè)計。本課題所承受的是三星公司的K9F1208芯片。K9F1208512Mb〔64M×8位〕NANDFlash存儲器。該存儲器的工作電2.7~3.6V528字節(jié)×32頁×4096528字節(jié),塊大小為〔16KB+512字節(jié)/次可以讀/48I/O端口分時復(fù)用訪問器件命令、地址和數(shù)據(jù)存放器,完成對芯片內(nèi)存儲器的訪問。串行接口電路串行接口電路用于S3C2410系統(tǒng)與其他應(yīng)用系統(tǒng)的短距離雙向串行通訊;串口電路使用一MAX3232芯片實現(xiàn)RS-232UARTPC機(jī)端需要通過串口讀取LinuxLinux系統(tǒng)發(fā)送shell命令,完成程序燒寫等交互操作。USBHost接口電路S3C2410AUSBHostOHCI1.0USB1.1標(biāo)準(zhǔn),支持低速和全速USB設(shè)備。USBHost接口用于掛接中星微Zc301PLH攝像頭以及USB電子硬盤。按鍵電路本系統(tǒng)使用三個按鍵,分別接入S3C2410I/O端口GPF0,GPF1,GPF6。按鍵電路如以下圖所示。LED電路本系統(tǒng)使用兩個LED發(fā)光二極管,分別接入S3C2410I/O端口GPB5和GPF7。JTAG電路JTAG接口可對芯片內(nèi)部的全部部件進(jìn)展訪問,通過該接口可對系統(tǒng)進(jìn)展調(diào)試、編程等。2.4嵌入式圖像監(jiān)控系統(tǒng)軟件設(shè)計圖像監(jiān)控系統(tǒng)的軟件設(shè)計需要完成以下兩方面的工作:在硬件上構(gòu)建一個軟件平臺,構(gòu)建嵌入式Linux系統(tǒng)需要完成Bootloader移植、嵌入式Linux操作系統(tǒng)內(nèi)核移植以及嵌入式Linux操作系統(tǒng)的設(shè)備驅(qū)動程序的開發(fā)等工作。在軟件平臺的根底上,開發(fā)系統(tǒng)的應(yīng)用程序。借助穿插編譯工具,開發(fā)圖像監(jiān)控設(shè)備上運(yùn)行的采集、存儲以及導(dǎo)出程序。以下圖為系統(tǒng)軟件設(shè)計流程S3C2410LinuxUSB攝像頭采集的圖像數(shù)據(jù)通過USB1.1硬盤中的圖像導(dǎo)出的程序,并且當(dāng)系統(tǒng)檢測到有運(yùn)動物體消滅時,LED燈進(jìn)展報警到達(dá)監(jiān)控的目的。因此,整個系統(tǒng)的軟件設(shè)計可以被分為以下幾個局部進(jìn)展:①建立和配置主機(jī)開發(fā)環(huán)境。②vivibootloader與嵌入式Linux內(nèi)核的編譯和移植。③根文件系統(tǒng)的設(shè)計和移植。GPIO驅(qū)動的設(shè)計和移植。⑤基于Video4Linux的圖像監(jiān)控軟件的設(shè)計。2章監(jiān)控軟件的設(shè)計與實現(xiàn)監(jiān)控軟件總體構(gòu)造交互模式鍵信息后,就會做出相應(yīng)的處理。系統(tǒng)功能嵌入式圖像監(jiān)控系統(tǒng)的主要功能如下:USB硬盤是否存在、USB硬盤是否有存儲空間、圖像獵取設(shè)備是否插入、圖像獵取設(shè)備是否正常工作等。②圖片采集功能:系統(tǒng)具有定時拍照功能。③視頻采集功能:系統(tǒng)具有實時攝像功能。④存儲功能:系統(tǒng)將采集到的圖片數(shù)據(jù)和視頻數(shù)據(jù)存儲在硬盤中,可供用戶進(jìn)展進(jìn)一步的處理。⑤圖像導(dǎo)出與刪除功能:用戶可依據(jù)需要將USB硬盤中的圖像數(shù)據(jù)導(dǎo)出或刪除。⑥報警功能:當(dāng)系統(tǒng)檢測到有運(yùn)動物體時,進(jìn)展報警。系統(tǒng)應(yīng)用程序流程采集程序設(shè)計的關(guān)鍵步驟如下:翻開攝像頭設(shè)備文件。intv4l_open(char*dev,v4l_device*vd){if(!dev)dev=“/dev/video0“;if((vd->fd=open(dev,O_RDWR))<0){perror(“v4l_open:“);return-1;}if(v4l_get_capability(vd))return-1;if(v4l_get_picture(vd))return-1;return0;}video_capability中信息。intv4l_get_capability(v4l_device*vd){if(ioctl(vd->fd,VIDIOCGCAP,&(vd->capability))<0){perror(“v4l_get_capability:“);return-1;}return0;}成功后可讀取vd->capability各重量。video_picture中信息。intv4l_get_picture(v4l_device*vd){if(ioctl(vd->fd,VIDIOCGPICT,&(vd->picture))<0){perror(“v4l_get_picture:“);return-1;}return0;5章監(jiān)控軟件的設(shè)計與實現(xiàn)57}成功后可讀取圖像的屬性。重設(shè)置圖像采集的各種參數(shù),即轉(zhuǎn)變video_picture中重量的值。先為重量賦值,再調(diào)用VIDIOCSPICTvd->picture.colour=65535;if(ioctl(vd->fd,VIDIOCSPICT,&(vd->picture))<0){perror(“VIDIOCSPICT“);return-1;}關(guān)閉設(shè)備。intv4l_close(v4l_device*vd){close(vd->fd);return0;}截取圖象。有兩種方法:一種是承受內(nèi)存映射〔mmap〕方式,另一種是直接讀取〔read〕的方式。read()方式是通過內(nèi)核緩沖區(qū)來讀取數(shù)據(jù),通過內(nèi)核態(tài)和用戶態(tài)之間進(jìn)展數(shù)據(jù)拷貝實現(xiàn)的;mmap()方式直接將設(shè)備文件/dev/v4l/video0映射到內(nèi)存中,繞過了內(nèi)核緩沖區(qū),并加速了文件I/O操作,節(jié)約了時間開銷。本課題為了驗證兩種采集方式的優(yōu)劣性,在程序中參加計時函數(shù),將其分別采集到單幅圖片的時間做比較。read()方式采集比較簡潔,可以分兩步來進(jìn)展設(shè)計:①安排內(nèi)存空間,用來存儲從攝像頭讀取過來的視頻數(shù)據(jù)。vd->pFramebuffer=(unsignedchar*)realloc(vd->pFramebuffer,(size_t)vd->framesizeIn);其中pFramebuffer為安排的內(nèi)存變量,大小為framesizeIn。②讀取視頻數(shù)據(jù),直接調(diào)用read即可。len=read(vd->fd,vd->pFramebuffer,vd->framesizeIn);整型變量len為實際存儲的視頻幀大小。mmap()〔內(nèi)存映射〕方式截取圖像步驟如下:①設(shè)置picture的屬性。②初始化video_mbuf,以得到所映射的buffer的信息,具體實現(xiàn)如下:ioctl(vd->fd,VIDIOCGMBUF,&(vd->mbuf));③修改video_mmap和幀狀態(tài)的當(dāng)前設(shè)置。mmapvideo_mbuf綁定,具體實現(xiàn)如下:void*mmap(void*addr,size_tlen,intprot,intflags,intfd,off_toffset);len:映射到調(diào)用進(jìn)程地址空間的字節(jié)數(shù),它從被映射文件開頭offset個字節(jié)開頭算起;pro:指定共享內(nèi)存的訪問權(quán)限PROT_REA〔可讀PROT_WRITE〔可寫PROT_EXE〔可執(zhí)行;flags:MAP_SHAREDMAP_PRIVATE中必選一個,MAP_FIXED不推舉使用;addr:共享內(nèi)存的起始地址,一般設(shè)0,表示由系統(tǒng)安排;mmap()返回值是系統(tǒng)實際安排的起始地址。intv4l_mmap_init(v4l_device*vd){if(v4l_get_mbuf(vd)<0)return-1;if((vd->map=mmap(0,vd->mbuf.size,PROT_READ|PROT_WRITE,MAP_SHARED,vd->fd,0))<0){perror(“v4l_mmap_init:mmap“);return-1;}return0;}⑤mmap方式下真正做視頻截取的VIDIOCMCAPTURE,具體實現(xiàn)如下:ioctl(vd->fd,VIDIOCMCAPTURE,&(vd->mmap));假設(shè)調(diào)用成功,便開頭一幀的截取,是非堵塞的,是否截取完畢留給VIDIOCSYNC來推斷。⑥調(diào)用VIDIOCSYNC等待一幀截取完畢,具體實現(xiàn)如下:if(ioctl(vd->fd,VIDIOCSYNC,&frame)<0){perror(“v4l_sync:VIDIOCSYNC“);return-1;}假設(shè)成功返回,說明一幀截取已完成。便可以開頭做下一次VIDIOCMCAPTURE。frame是當(dāng)前截取的幀的序號。⑦圖像幀的地址由vd->map+vd->mbuf.offsets[vd->frame]得到。⑧采集工作完畢后調(diào)用munmap取消綁定,具體實現(xiàn)如下:munmap(vd->map,vd->mbuf.size);定時采集設(shè)置兩次采集之間的時間間隔,在程序中通過定時器實現(xiàn)。設(shè)置定時器函數(shù)如下:volatileintpictFlag=0;staticintset_timer(intinterval){structitimervalitimer;itimer.it_interval.tv_sec=interval/1000;itimer.it_interval.tv_usec=(interval%1000)*1000;itimer.it_value=itimer.it_interval;signal(SIGALRM,take_snap);setitimer(ITIMER_REAL,&itimer,NULL);return0;}staticvoidtake_snap(intx){pictFlag=1;}interval為用戶設(shè)置或者系統(tǒng)預(yù)先設(shè)置好的時間間隔。每隔產(chǎn)生一次SIGALRM信號,take_snap為信號捕獲函數(shù),作用是設(shè)置采集標(biāo)志pictFlag1。setitimer函數(shù),用于安裝定時器。即可實現(xiàn)每隔intervalms采集一幀圖片。AVI視頻流文件采集1.MJPEG算法本課題承受國際上流行的MJPEG〔Motion-JPEG〕JPEG圖片合成為AVIMJPEG即動態(tài)JPEG。MotionJPEG是一種基于靜態(tài)圖像壓縮技術(shù)JPEGMJPEG壓其壓縮后之格式可讀單一畫面,所以可以任意剪接。MJPEG因承受幀內(nèi)壓縮方式也適于視頻編輯。MJPEG的優(yōu)點是畫質(zhì)比較清楚,缺點是壓縮率低,占用帶寬很大。一般單路占2M左右。MJPEG之間的差異來進(jìn)展壓縮,因此造成了大量冗余信息被重復(fù)存儲,存儲占用的空間大到每幀8-20K3K嚴(yán)峻降低。2.AVI文件格式AVI英文全稱為AudioVideoInterleaved,即音頻視頻穿插格式。是將語音和影像同步組合質(zhì)量不是太好,但其應(yīng)用范圍仍舊格外廣泛。AVI支持256色和RLE壓縮。AVI信息主要應(yīng)用在多媒體光盤上,用來保存電視、電影等各種影像信息。AVI文件含三局部:文件頭、數(shù)據(jù)塊和索引塊[30,31]。其中數(shù)據(jù)塊包含實際數(shù)據(jù)流,即圖像和聲音序列數(shù)據(jù)。這是文取力量。文件頭包括文件的通用信息,定義數(shù)據(jù)格式,所用的壓縮算法等參數(shù)。3.視頻流文件采集關(guān)鍵步驟系統(tǒng)為了把采集到的視頻流保存成AVIavilibAPIavilibAPI工具集支持簡潔的aviMJPEGAVI視頻流的采集與多幀圖像采集類似,只是把每幀圖像寫入一個avi文件而不是將每幀圖像都保存成JPEG文件。AVI視頻流文件采集的具體實現(xiàn)步驟如下:翻開視頻文件。avi_t*AVI_open_output_file(char*filename);設(shè)置視頻參數(shù)。包括寬度、高度、幀率以及壓縮格式。voidAVI_set_video(avit*AVI,intwidth,intheight,doublefps,char*compressor);avi文件中寫入幀數(shù)據(jù)。intAVI_write_frame(avi_t*AVI,char*data,longbytes);avi文件。intAVI_close(avit*AVI); 按鍵處理應(yīng)用程序設(shè)計按鍵電路中使用了瞬時接觸開關(guān)連接到ARM處理器的I/O口,ARM處理器可簡潔地檢測到閉合。當(dāng)開關(guān)翻開時,通過處理器I/O1;當(dāng)開關(guān)閉合時,處I/O0。即一旦有鍵按下,發(fā)生外部中斷,推斷鍵值,依據(jù)鍵值轉(zhuǎn)到相應(yīng)的鍵值處理程序,鍵值處理程序包括圖片采集子程序、AVI視頻流文件錄制子程序、圖像數(shù)據(jù)導(dǎo)出子程序。3章總結(jié)與展望總結(jié)本課題在總結(jié)分析前人爭辯成果的根底上完成的工作與獲得的結(jié)論如下:分析了圖像監(jiān)控系統(tǒng)的現(xiàn)狀與進(jìn)展趨勢,并針對課題具體要求提出基于ARM9和嵌入式Linux的圖像監(jiān)控方案。完成了BootLoader與嵌入式LinuxARM平臺的移植。完成了硬件平臺相關(guān)驅(qū)動程序的設(shè)計與移植。完成了系統(tǒng)監(jiān)控軟件的設(shè)計。完成了整個系統(tǒng)試驗室環(huán)境下的樣機(jī)的調(diào)試與測試工作。系統(tǒng)設(shè)計的樣機(jī)體積小,滿足監(jiān)控領(lǐng)域隱蔽性的要求,使用便利、本錢低廉、易于升級與擴(kuò)展,具有肯定的市場應(yīng)用前景。展望雛形,還需進(jìn)一步的改進(jìn)與完善,主要有以下幾點:圖片采集與視頻采集的實時切換功能。按鍵防抖功能,防止按鍵連續(xù)被按下使系統(tǒng)運(yùn)行出錯。時間標(biāo)記功能,在實時圖像上疊加日期和時間顯示。擴(kuò)展外部設(shè)備,如后備電源、GPRS報警設(shè)備等。參考文獻(xiàn)劉富強(qiáng).數(shù)字視頻監(jiān)控系統(tǒng)開發(fā)及應(yīng)用[M].北京:機(jī)械工業(yè)出版社2022.數(shù)字監(jiān)控技術(shù)的進(jìn)展趨勢[J]中國公共安全〔綜合版〕,202208期馬昕.視頻監(jiān)控系統(tǒng)的現(xiàn)狀和今后進(jìn)展趨勢[J].金卡工程,202203期丁忠校.視頻監(jiān)控系統(tǒng)的應(yīng)用現(xiàn)狀與進(jìn)展綜述[J].科技詢問導(dǎo)報,202228期徐力,孔巖.視頻監(jiān)控系統(tǒng)的現(xiàn)狀和進(jìn)展趨勢[J].信息技術(shù)與信息化,2022年04期孟柯,李鳳亭,馬惠敏.用于視頻監(jiān)控的便攜式數(shù)字錄像機(jī)設(shè)計[J].電視技術(shù),2022,7:78-80譚曉, 明明. 嵌入式Linux 平臺的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)[J]. 電子技術(shù),2022,01:46-49陳福,馬莉,周樹杰等.基于嵌入式系統(tǒng)的視頻圖像捕獲爭辯與實現(xiàn)[J].微計算機(jī)信息,2022,21:12-14楊暉,胡永健,林志泉.基于Linux和S3C2410嵌入式圖象傳輸系統(tǒng)設(shè)計[J].微計算機(jī)信息,2022,23:20-22杜春雷ARM體系構(gòu)造與編程[M].北京:清華大學(xué)出版社,2022[11]李駒光ARM應(yīng)用系統(tǒng)開發(fā)詳解[M].北京:清華大學(xué)出版社2022李駒光,鄭
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 26189.2-2024工作場所照明第2部分:室外作業(yè)場所的安全保障照明要求
- Mevalonolactone-生命科學(xué)試劑-MCE-8562
- 二零二五年度版股東借款合同爭議調(diào)解與賠償協(xié)議書
- 二零二五年度電商平臺跨境電商稅收籌劃合作協(xié)議
- 二零二五年度特色小吃店整體轉(zhuǎn)讓合同
- 2025年度航空航天維修與服務(wù)版勞動合同
- 施工組織設(shè)計對土木工程項目的重要性探討
- 施工日志填寫樣本施工質(zhì)量檢查與驗收記錄
- 科技前沿電子產(chǎn)品的設(shè)計與制造新趨勢
- 營銷策略與學(xué)校品牌形象塑造探討
- 高考百日誓師動員大會
- 賈玲何歡《真假老師》小品臺詞
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 《敏捷項目管理》課件
- 統(tǒng)編版(2024新版)七年級上學(xué)期道德與法治期末綜合測試卷(含答案)
- 黑龍江省哈爾濱市2024屆中考數(shù)學(xué)試卷(含答案)
- 前程無憂測評題庫及答案
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 物業(yè)管理服務(wù)房屋及公用設(shè)施維修養(yǎng)護(hù)方案
- 醫(yī)療器械法規(guī)培訓(xùn)
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
評論
0/150
提交評論