下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于q的視頻記錄系統(tǒng)設(shè)計與實(shí)現(xiàn)
pald圖像記錄系統(tǒng)方案設(shè)計隨著信息技術(shù)的快速發(fā)展,視頻錄音系統(tǒng)在交通監(jiān)控、數(shù)字?jǐn)z影、機(jī)器人視覺、軍事國防等領(lǐng)域具有廣闊的發(fā)展前景。本文的視頻記錄系統(tǒng),用于記錄飛行器的運(yùn)動軌跡,采集存儲飛行器運(yùn)動過程中所需的飛行數(shù)據(jù),當(dāng)飛行器落地后,讀取并分析存儲數(shù)據(jù),將數(shù)據(jù)還原成圖像及視頻,以供研究利用。本文針對這一視頻記錄系統(tǒng)開發(fā)應(yīng)用程序,結(jié)合TCP/IP協(xié)議,實(shí)現(xiàn)通過網(wǎng)口讀取視頻記錄系統(tǒng)攝像頭采集到的數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換為PAL_D制式圖像實(shí)時顯示在圖形用戶界面窗體上,并保存成AVI視頻文件。并且根據(jù)實(shí)際應(yīng)用情況,實(shí)現(xiàn)幀率可調(diào)的、用于播放視頻流數(shù)據(jù)的視頻播放器功能。1圖形用戶界面設(shè)計視頻記錄系統(tǒng)的硬件和軟件結(jié)構(gòu)如圖1所示。硬件主要由五部分組成:一是攝像頭,負(fù)責(zé)采集原始視頻流數(shù)據(jù);二是AD采集芯片,負(fù)責(zé)將模擬視頻信號轉(zhuǎn)為數(shù)字視頻信號;三是FPGA芯片,負(fù)責(zé)數(shù)字視頻信號的存儲轉(zhuǎn)發(fā);四是存儲,負(fù)責(zé)圖像數(shù)據(jù)的存儲;五是網(wǎng)絡(luò)芯片,負(fù)責(zé)上傳圖像數(shù)據(jù)。軟件部分是在Windows系統(tǒng)采用Qt軟件開發(fā)的圖形用戶界面應(yīng)用程序。本文將著重闡述該應(yīng)用程序2應(yīng)用程序的關(guān)鍵技術(shù)本文應(yīng)用程序以O(shè)penCV庫和QT庫為核心,負(fù)責(zé)處理視頻數(shù)據(jù)與圖像顯示。2.1cos操作系統(tǒng)OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機(jī)視覺庫,可以運(yùn)行在Linux、Windows、Android和MacOS操作系統(tǒng)上。它輕量級而且高效,由一系列C函數(shù)和少量C++類構(gòu)成,同時提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計算機(jī)視覺方面的很多通用算法。OpenCV可以與英特爾公司所開發(fā)的圖形處理庫IPL兼容,所以它能夠高效而充分地運(yùn)行在Intel處理器上,主要用于對圖像進(jìn)行高級處理,例如特征檢測與跟蹤、運(yùn)動分析3D重建、結(jié)構(gòu)分析、物體跟蹤、模式識別等。2.2基于pp的高效工具QT是跨平臺的C++圖形用戶界面工具。由于QT采用面向?qū)ο箝_發(fā),具有跨多平臺、界面設(shè)計美觀等特點(diǎn),因此得到廣泛應(yīng)用。QtCreator是一個用于Qt開發(fā)的輕量級跨平臺集成開發(fā)環(huán)境,包含了一套用于創(chuàng)建和測試基于Qt應(yīng)用程序的高效工具。QtCreator能夠跨平臺運(yùn)行,支持的系統(tǒng)包括Linux、MacOSX以及Windows,它可以使開發(fā)人員能夠利用Qt這個應(yīng)用程序框架更加快速及輕易地完成開發(fā)任務(wù)。本文應(yīng)用程序在Windows平臺下使用QtCreator進(jìn)行開發(fā)。Qt的核心機(jī)制是信號和槽機(jī)制,是完成任意兩個Qt對象之間的通信機(jī)制。其中,信號會在某個特定情況或動作下被觸發(fā),槽是等同于接收并處理信號的函數(shù)。每個Qt對象都包含若干個預(yù)定義的信號和若干個預(yù)定義的槽,當(dāng)某個特定事件發(fā)生時,一個信號被發(fā)送,與信號相關(guān)聯(lián)的槽則會響應(yīng)信號并完成響應(yīng)的處理3應(yīng)用方案來執(zhí)行3.1網(wǎng)絡(luò)數(shù)據(jù)處理本應(yīng)用程序主線程承擔(dān)用戶交互的重任,為了提高程序的響應(yīng)速度,防止界面凍結(jié)而影響用戶的正常操作,采用Qt多線程設(shè)計,子線程負(fù)責(zé)TCP/IP網(wǎng)絡(luò)數(shù)據(jù)傳輸和視頻數(shù)據(jù)處理,主線程負(fù)責(zé)用戶操作、圖像顯示及視頻文件保存。在Qt應(yīng)用程序中QThread類提供了創(chuàng)建一個新線程的方法,新建一個線程,只需繼承QThread類并重寫它的run()函數(shù),當(dāng)調(diào)用start()函數(shù)時就會調(diào)用重載的run()函數(shù)。本應(yīng)用程序中,子線程用于通過TCP/IP網(wǎng)絡(luò)周期性獲取單幀圖像數(shù)據(jù),并將接收到的圖像數(shù)據(jù)進(jìn)行視頻數(shù)據(jù)轉(zhuǎn)換,通過emit發(fā)送圖像到主線程進(jìn)行界面顯示和AVI視頻文件保存。3.2qpt適應(yīng)cp使用本應(yīng)用程序采用TCP協(xié)議實(shí)現(xiàn)Socket通信。TCP是一種可靠的、面向連接、面向數(shù)據(jù)流的傳輸協(xié)議,為應(yīng)用程序提供可靠的通信連接,從而確保視頻數(shù)據(jù)的有效傳輸。TCP協(xié)議的程序使用的是客戶端/服務(wù)器模式,在Qt中提供了QTcpSocket類來編寫客戶端程序,使用QTcpServer類編寫服務(wù)器端程序。在本應(yīng)用程序中,采用QTcpSocket類實(shí)現(xiàn)客戶端程序的編寫。QTcpSocket通過器父類QAbstractSocket繼承了QIODevice,因此它可以通過使用QTextStream和QDataStream來進(jìn)行讀取和寫入,使用起來非常方便。QTcpSocket類因?yàn)槔^承自QAbstractSocket,所以如果不采取一些措施的話,就處于非阻塞方式,而它的好處就是可以在一個線程中實(shí)現(xiàn)多路tcp連接。本應(yīng)用中需要命令和數(shù)據(jù)兩路tcp連接,所以適合采用QTcpSocket類。在數(shù)據(jù)傳輸過程中采用waitForReadyRead()函數(shù)來實(shí)現(xiàn)網(wǎng)絡(luò)的阻塞處理。3.3圖像背景轉(zhuǎn)換視頻格式轉(zhuǎn)換關(guān)鍵代碼:根據(jù)視頻記錄系統(tǒng)的實(shí)際應(yīng)用情況,攝像頭采集到的圖像為8位的灰度圖像,圖像存儲將8位灰度圖像轉(zhuǎn)化成Colormap,Qt中僅有按照索引的8位位圖,還需要添加ColorTable顏色表。QImage中定義ColorTable的原型為:voidQImage::setColorTable(constQVector<QRgb>colors),因?yàn)榛叶戎捣謩e對應(yīng)RGB相同的分布,因此顏色表ColorTable取vector(0-255)對應(yīng)為qRGB(i,i,i),i在0~255之間。采用OpenCV將灰度圖像保存成AVI視頻文件,OpenCV的cvWriteFrame函數(shù)可將圖像按幀寫入到視頻文件寫入器中,函數(shù)的原型為cvWriteFrame(CvVideoWriter*writer,constIplImage*image),所以需要先將8bit灰度圖像轉(zhuǎn)換后的Colormap再轉(zhuǎn)換為IplImage格式,轉(zhuǎn)換的關(guān)鍵代碼如下:IplImage*iplImg=cvCreateImage(cvSize(img.width(),img.height()),IPL_DEPTH_8U,1);最后使用cvWriteFrame函數(shù)將圖片轉(zhuǎn)換為視頻流格式進(jìn)行保存4讀取視頻記錄的圖像在PC機(jī)上運(yùn)行該應(yīng)用程序,通過網(wǎng)口與視頻記錄系統(tǒng)進(jìn)行連接,確認(rèn)網(wǎng)絡(luò)連接正確后,點(diǎn)擊開始采集按鈕,讀取視頻記錄系統(tǒng)的圖像數(shù)據(jù)。圖2為實(shí)驗(yàn)室環(huán)境下的實(shí)測圖。5實(shí)驗(yàn)結(jié)果和分析本文在Windows平臺下,結(jié)合Qt5和OpenCV圖形處理庫,采用多線程編程方法,實(shí)現(xiàn)了某視頻記錄系統(tǒng)的上位機(jī)軟件設(shè)計。實(shí)驗(yàn)證明,該應(yīng)用程序工作穩(wěn)定、數(shù)據(jù)準(zhǔn)確可靠,已
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 眉山職業(yè)技術(shù)學(xué)院《排水管道工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東茂名農(nóng)林科技職業(yè)學(xué)院《分析型大數(shù)據(jù)系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東財經(jīng)大學(xué)燕山學(xué)院《機(jī)械制造裝備》2023-2024學(xué)年第二學(xué)期期末試卷
- 石家莊鐵路職業(yè)技術(shù)學(xué)院《攝影技術(shù)與技巧》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)部獎勵隱患舉報制度
- 哈爾濱師范大學(xué)《測試技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海海洋大學(xué)《電氣控制與課程設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京中醫(yī)藥大學(xué)翰林學(xué)院《小學(xué)數(shù)學(xué)解題與競賽研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西中醫(yī)藥大學(xué)賽恩斯新醫(yī)藥學(xué)院《職業(yè)教育專業(yè)教學(xué)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 川北醫(yī)學(xué)院《基本樂理1》2023-2024學(xué)年第二學(xué)期期末試卷
- GB/T 19894-2025數(shù)碼照相機(jī)光電轉(zhuǎn)換函數(shù)(OECFs)的測量方法
- 2025年北京市物業(yè)管理行業(yè)市場深度分析及發(fā)展前景預(yù)測報告
- 旅游景區(qū)商戶管理辦法
- 2025年甘肅省中考物理、化學(xué)綜合試卷真題(含標(biāo)準(zhǔn)答案)
- DLT5210.1-2021電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程第1部分-土建工程
- 機(jī)械設(shè)備租賃服務(wù)方案
- 樂理考試古今音樂對比試題及答案
- 電影放映年度自查報告
- 水泥窯協(xié)同處置危廢可行性研究報告
- 心內(nèi)介入治療護(hù)理
- 初中畢業(yè)學(xué)業(yè)考試命題規(guī)范、原則、與教學(xué)建議
評論
0/150
提交評論