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

正文內(nèi)容

基于linux、qt的視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文(參考版)

2025-06-25 01:22本頁面
  

【正文】 我會銘記身邊的同學(xué),銘記我們相聚而笑、相散而念的美好情誼。老師的無私奉獻,讓我在知識的殿堂里收獲了人生最寶貴的財富。正是在他們的慈愛與呵護下,我才能快樂地成長、勇敢地追求自己的夢想。于此,謹向他們致以最誠摯的謝意。當(dāng)然,這份成功的取得是與老師和同學(xué)的熱心幫助也是分不開的。 參考文獻[1] [D].北京:北京郵電大學(xué).2007.6,7:38.[2] 倪繼利.Linux內(nèi)核分析及編程[M].北京:電子工業(yè)出版社,2006.1,4:315.[3] 戴麗.基于Video4Linux的USB攝像頭圖像采集實現(xiàn)[J].合肥工業(yè)大學(xué).2006,2:31.[4] 劉斌.基于嵌入式系統(tǒng)的視頻采集模塊的設(shè)計[D].西安電子科技大學(xué),2006,53:38.[5] 許海燕,[M] .機械工業(yè)出版社,2002.[6] 設(shè)計與應(yīng)用[M] .清華大學(xué)出版社,2002.[7] [M ] .北京:機械工業(yè)出版社,2003.[8] 王英杰,陳祥獻,[J ][9] 薩默菲爾德(英),布蘭切特(加)[(第二版)] [電子書][10] Linux窗口程序設(shè)計QT4精彩實例分析PTF [電子書] 致 謝我們大學(xué)的學(xué)習(xí)今天已經(jīng)畫了一個完美的句號,感謝大學(xué)四年以來,各位老師對我的諄諄教誨,感謝湖南科技學(xué)院,感謝大家有緣能在生命中重要的四年,我的朋友,同學(xué),老師,在這四年來給我的支持與關(guān)懷。由于我還是個初學(xué)者,雖然最終能夠?qū)崿F(xiàn)了一些功能,但是對中間相關(guān)的一些模塊開發(fā),比如驅(qū)動等等還不是很熟悉,還有待進一步學(xué)習(xí)和掌握。另外在不久的未來,視頻監(jiān)控系統(tǒng)還可具有安防互動功能,與各種傳感器,控制器鏈接,實現(xiàn)自動目標(biāo)跟蹤等功能。結(jié)合了QT技術(shù)構(gòu)建了具有圖形化界面支持的嵌入式系統(tǒng)開發(fā)平臺,這種系統(tǒng)結(jié)構(gòu)模式是目前在PC上進行視頻監(jiān)控系統(tǒng)開發(fā)的熱點。v4L2 是Linux 操作系統(tǒng)中的內(nèi)核驅(qū)動,主要是關(guān)于視頻的開發(fā)。如果采用OSI七層模型的內(nèi)容和形式,把相應(yīng)的控制模塊硬件、視頻數(shù)據(jù)采集、視頻數(shù)據(jù)的編碼、視頻數(shù)據(jù)的解碼和視頻監(jiān)控軟件以及開發(fā)環(huán)境的搭建等進行有機結(jié)合,可以形成一個統(tǒng)一完整的系統(tǒng)框架。圖14 啟動系統(tǒng)效果圖(左:客戶端,右:服務(wù)端)圖15 客戶端準(zhǔn)備連接時效果圖(左:客戶端,右:服務(wù)端)圖16 系統(tǒng)網(wǎng)絡(luò)連接后效果圖(左:客戶端,右:服務(wù)端) 系統(tǒng)測試結(jié)果測試結(jié)果:功能基本實現(xiàn),目前未發(fā)現(xiàn)Bug。4) 用戶可以同時安裝多個USB攝像頭,通過客戶端查看各個USB攝像頭拍攝到的視頻。2) 如上一步正常則運行客戶端程序,也就是采用QT設(shè)計的圖形化界面,其實在沒有開啟服務(wù)端程序時,也可以開啟客戶端,但是不能獲取到視頻數(shù)據(jù)。 系統(tǒng)測試過程視頻監(jiān)控系統(tǒng)的測試將分別對服務(wù)端和客戶端進行,我們可以下執(zhí)行步驟。測試分為黑盒測試與白盒測試,其主要區(qū)別是:黑盒測試只需對其功能、性能等進行測試就行了而不需要深入去了解程序的具體實現(xiàn)代碼與軟件的功能實現(xiàn)過程;而白盒測試則需要了解程序代碼的編寫以及實現(xiàn)的過程,通過對底層代碼的了解從而找出程序的不足指出以及Bug。軟件測試的最終目標(biāo),就是為了更早地、更快地將軟件程序或軟件產(chǎn)品中所存在的各種缺陷找出來,并告訴軟件開發(fā)人員,讓他們更好地完善軟件系統(tǒng)。開始連接服務(wù)器No出錯處理連接成功等待信號No響應(yīng)信號處理收到信號數(shù)據(jù)信號加載數(shù)據(jù)并刷新控件圖13 客戶端視頻渲染模塊流程圖4 視頻監(jiān)控系統(tǒng)測試 系統(tǒng)測試目標(biāo)軟件測試是一門充滿了智慧和挑戰(zhàn)性的科學(xué),它涉及到了工具技術(shù)的使用、方法論、過程論等諸多技術(shù)領(lǐng)域。 邏輯概要及流程圖視頻圖像的刷新流程,這一模塊主要用到信號和槽的機制來實現(xiàn)的。由于循環(huán)顯示圖像時候會阻塞圖形界面,所以此時應(yīng)該用一個單獨的線程來完成刷新圖像的工作。所以這一模塊中主要是將上一模塊所接收到的視頻幀數(shù)據(jù)通過QT中的繪圖事件(PaintEvent)將圖片刷新加載到控件上,從而形成了連續(xù)的視頻圖像,實現(xiàn)了視頻渲染的功能,經(jīng)過后續(xù)的一些測試,發(fā)現(xiàn)這一過程將會消耗大量的CPU資源。提示錯誤是:bind error 綁定出錯。下面給出TCP網(wǎng)絡(luò)編程流程(圖11)和數(shù)據(jù)分割步驟(圖12)。 技術(shù)概要客戶端獲取數(shù)據(jù)模塊主要涉及到基于TCP/IP協(xié)議的客戶端編程,關(guān)于客戶端編程的方法比較靈活,在編程語言框架的選擇方面也比較廣泛,其實有多種編程語言都可以實現(xiàn)客戶端程序的編寫,我選用的是用QT編程來實現(xiàn),以此為例來實現(xiàn)客戶端程序的編寫??蛻舳伺c服務(wù)器端需要建立網(wǎng)絡(luò)連接必須要進行了“三次握手”,才連接成功,然后視頻監(jiān)控系統(tǒng)的客戶端向服務(wù)器端發(fā)送視頻數(shù)據(jù)。圖9 服務(wù)器端數(shù)據(jù)處理流程圖圖10 服務(wù)器端數(shù)據(jù)幀封裝結(jié)構(gòu)圖 客戶端:數(shù)據(jù)獲取 模塊功能描述客戶端獲取視頻數(shù)據(jù),主要利用socket連接方式獲取。由于視頻設(shè)備采集到的每一幀視頻數(shù)據(jù)經(jīng)過了huffman編碼以后都會變成一張完整的圖片,所以我們在下面發(fā)送視頻數(shù)據(jù)的傳輸部分需要做一個簡單的數(shù)據(jù)封裝,下面分別給出了程序流程圖(圖9)和數(shù)據(jù)封裝格式(圖10)。視頻監(jiān)控系統(tǒng)通過對基于C語言的socket網(wǎng)絡(luò)編程和多線程編程熟悉,可以參考《UNIX環(huán)境高級編程》中的網(wǎng)絡(luò)編程部分,就可以實現(xiàn)網(wǎng)絡(luò)服務(wù)器的功能以及多任務(wù)的處理功能。 技術(shù)概要這一模塊主要涉及到對原始圖像數(shù)據(jù)進行的壓縮編碼以及基于C語言的網(wǎng)絡(luò)和多線程的編程。為了實現(xiàn)C/S架構(gòu)的同時,也支持B/S架構(gòu),我們就在服務(wù)器端進行這些數(shù)據(jù)的處理。對從攝像頭設(shè)備采集到的視頻數(shù)據(jù)進行一次huffman編碼,把圖片轉(zhuǎn)換成jpeg或者jpg格式的。圖8 視頻數(shù)據(jù)處理流程圖 服務(wù)器:數(shù)據(jù)處理 模塊功能描述完成圖像壓縮、編碼、封裝。讀取完隊列后,進行解碼(反編碼),然后就能得到視頻數(shù)據(jù)。傳返回參數(shù) 5進入enable()函數(shù)里,聲明兩個變量,type和ret進行初始化,ret = ioctl(fd, VIDIOC_STREAMON, amp。獲得視頻設(shè)備采集到的數(shù)據(jù)需要調(diào)用VIDIOC_QBUF和VIDIOC_DQBUF兩個宏定義來控制對緩沖隊列進行進/出隊操作。傳返回參數(shù)4在接收到參數(shù)時,聲明結(jié)構(gòu)體,區(qū)別名為 buf在堆區(qū)用calloc()函數(shù)開辟內(nèi)存并且定義一個整型變量 i ;賦初值為 0Noi NB_BUFFER ?Yes對結(jié)構(gòu)體進行初始化建立內(nèi)存映射:mem_list[ i ] = mmap( )在開辟的緩存空間內(nèi)建立內(nèi)存映射區(qū)域并且建立緩存隊列YesNo error ?Noerrorreturnreturn 5圖7 緩沖區(qū)設(shè)置流程圖 6) 視頻圖像采集到的數(shù)據(jù)處理 設(shè)置視頻設(shè)備屬性時,需要用到這兩個宏定義VIDIOC_STREAMON和VIDIOC_STREAMOFF。還要設(shè)置緩存的訪問方式以及使用內(nèi)存映射的訪問方式,對緩存進行映射,并建立緩存隊列。本模塊用到的宏定義有define NB_BUFFER 5表示申請緩沖區(qū)數(shù)量傳返回參數(shù) 3struct v4l2_requestbuffer rb調(diào)用結(jié)構(gòu)體 rb斷言:作用初始化結(jié)構(gòu)體 rb設(shè)置結(jié)構(gòu)體的屬性和初值創(chuàng)建申請緩沖區(qū),用函數(shù):ioctl()errorreturn error ?return傳返回參數(shù) 4圖6 申請緩沖區(qū)流程圖5) 設(shè)置緩沖區(qū)屬性緩存申請到了后,對申請到的緩存進行必要的設(shè)置。從內(nèi)核中申請緩存用到v4l2編程中的結(jié)構(gòu)體v4l2_requestbuffer和宏定義VIDIOC_REQBUFS。FD
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1