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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于arm的視頻監(jiān)控系統(tǒng)上位機(jī)的設(shè)計(jì)-wenkub

2022-12-14 19:39:31 本頁面
 

【正文】 以將數(shù)據(jù)通過網(wǎng)絡(luò)傳輸?shù)绞澜绺鞯兀瑢?shí)時(shí)性得到了很大的提高。交通、工業(yè)生產(chǎn)、銀行、智能辦公大樓等多種領(lǐng)域都廣泛用到了視頻監(jiān)控系統(tǒng)。目前計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)以及多媒體技術(shù)正在飛速向前發(fā)展,遠(yuǎn)程自動(dòng)控制技術(shù)也逐漸融入到視頻監(jiān)控系統(tǒng)中,同時(shí)視頻監(jiān)控技術(shù)也得到了快速的發(fā)展。鑒于 Linux 內(nèi)核的開源及其穩(wěn)定性 ,采用其作為操作系統(tǒng) , 從 而使整個(gè)系統(tǒng)具有較好的實(shí)時(shí)性和穩(wěn)定性。洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) I 基于 ARM 的視頻監(jiān)控系統(tǒng)上位機(jī)的設(shè)計(jì) 摘 要 現(xiàn)在電子技術(shù)、計(jì)算機(jī)技術(shù)以及通信技術(shù)等飛速的向前發(fā)展,網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)在民用、軍事、工業(yè)等各個(gè)領(lǐng)域得到越來越廣泛的應(yīng)用 , 視頻監(jiān)控系統(tǒng)已經(jīng)逐步滲透到了社會(huì)生活中的各個(gè)領(lǐng)域。 該系統(tǒng) 以高佳能的 ARM 處理 器 、嵌入式 WEB 服務(wù)器為核心, 以 互聯(lián)網(wǎng)為 支撐, 通過瀏覽 網(wǎng) 頁訪問 Web 服務(wù)器的方式,觀看視 頻 監(jiān)控 圖 像。傳統(tǒng)視頻監(jiān)控系統(tǒng)大多是以模擬圖像監(jiān)控為主,對視頻圖像的處理和傳輸都采用了模擬技術(shù),但是通過這種傳統(tǒng)監(jiān)控技術(shù)得到的圖象質(zhì)量比較低,并且系統(tǒng)資源浪費(fèi),可擴(kuò)展性比較差。在視頻監(jiān)控系統(tǒng)的發(fā)展史上,主要出現(xiàn)了三種類型的視頻監(jiān)控系統(tǒng)。嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)因?yàn)榻鉀Q了模擬監(jiān)控系統(tǒng)的部分弊端而得到了快速發(fā)展,但仍然需進(jìn)一步的完善。嵌入式系統(tǒng)是由嵌入式處理器、外圍的硬件電路、嵌入式操作系統(tǒng)以及應(yīng)用程序等四個(gè)部分組成的,主要實(shí)現(xiàn)對其他設(shè)備或各種環(huán)境的控制以及管理等。正是由于這類監(jiān)控系統(tǒng)具有易于使用、可靠穩(wěn)定、經(jīng)濟(jì)實(shí)用等特性,使得它有很好的發(fā)展前景。接下來詳細(xì)的介紹了視頻監(jiān)控系統(tǒng)中主要軟件模塊的設(shè)計(jì)方案。同時(shí)在本方案中,用戶可以通過 WEB 控制模塊來實(shí)現(xiàn)客戶與服務(wù)器之間的互動(dòng),在客戶端可以通過網(wǎng)頁來完成視頻監(jiān)控的啟動(dòng)、參數(shù)設(shè)置、圖像裁剪和伸縮處理等。 系統(tǒng)總體設(shè)計(jì)方案如下圖所示 : 攝 像 頭A R M 處 理 器視 頻 壓 縮網(wǎng) 絡(luò) 通 信顯 示 器視 頻 解 碼接 收 端 主 機(jī)網(wǎng) 絡(luò) 通 信視 頻 及 指 令 信息 圖 11 視頻監(jiān)控系統(tǒng)總體框圖 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)通常包括遠(yuǎn)程視頻采集和本地視頻查看及控制兩部分,二者通過網(wǎng)絡(luò)通信線路連接。同時(shí),遠(yuǎn)程現(xiàn)場時(shí)刻保持與監(jiān)控中心的通信 :接收、解析、執(zhí)行來自監(jiān)控中心的指令,并向監(jiān)控中心發(fā)送反饋信息,如服務(wù)器退出時(shí)通知客戶端斷開連接等。 本課題使用 VC 等開發(fā)工具來進(jìn)行網(wǎng)頁程序設(shè)計(jì),程序設(shè)計(jì)主要包括整個(gè)系統(tǒng)的軟件部分分成了六個(gè)模塊 :視頻前端處理模塊、視頻采集模塊、視頻壓縮編碼模塊、視頻傳輸模塊、視頻解壓顯示模塊、 WEB 控制模塊 。它不但具有程序框架自動(dòng)生成、靈活方便的類管理、代碼編寫和界面設(shè)計(jì)集成交互操作、可開發(fā)多種程序等優(yōu)點(diǎn),而且通過簡單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫接口、 OLE2,WinSock 網(wǎng)絡(luò)、 3D 控制界面 。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱。 1. 理解 VC 工程 Visual C++作為一種程序設(shè)計(jì)語言,它同時(shí)也是一個(gè)集成開發(fā)工具,提供了軟件代碼自動(dòng)生成和可視化的資源編輯功能。 與 dsw 類型的 Workspace 文件相配合的一個(gè)重要的文件類型是以 opt洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 7 為擴(kuò)展名的文件,這個(gè)文件中包含的是在 Workspace 文件中要用到的本地計(jì)算機(jī)的有關(guān)配置信息,所以這個(gè)文件不能在不同的計(jì)算機(jī)上共享,當(dāng)我們打開一個(gè) Workspace 文件時(shí),如果系統(tǒng)找不到需要的 opt 類型文件,就會(huì)自動(dòng)地創(chuàng)建一個(gè)與之配合的包含本地計(jì)算機(jī)信息的 opt 文件。 在應(yīng)用程序中大量應(yīng)用的是以 h 和 cpp 為擴(kuò)展名的文件,以 h 為擴(kuò)展名的文件稱為頭文件。對于以 ico,bmp 等為擴(kuò)展名的文件是具體的資源,產(chǎn)生這種資源的 途徑很多。 程序員無需脫離這個(gè)開發(fā)環(huán)境就可以開洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 8 發(fā)出完整的應(yīng)用程序。菜單以文字和層次化的方式提供命令接口。VC++6 以項(xiàng)目管理程序,每一個(gè)程序都應(yīng)該屬于一個(gè)項(xiàng)目,如果一個(gè)程序工作區(qū)窗口 工具條 主菜單 文檔窗口 輸出窗口 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 9 由多個(gè)文件組成,則這些文件都在同一個(gè)項(xiàng)目中,因此項(xiàng)目名與文件名可以不相同。這個(gè)區(qū)域可以編輯、顯示各種類型的文檔,如源代碼文件、頭文件、資源文件等。這些信息有編譯連接結(jié) 果信息( Build 標(biāo)簽)、調(diào)試信息( Debug 標(biāo)簽)和查找結(jié)果信息( Find in Files 標(biāo)簽)。 Linux 操作系統(tǒng)的最大優(yōu)勢就是其免費(fèi)和源碼開放性,同時(shí)其穩(wěn)定性和可靠性也為大家所推崇。此外,由于其開放性使工程師可以對系統(tǒng)有更深入的了解,并能針對特定硬件方案和產(chǎn)品需求進(jìn)行優(yōu)化。 Linux 從 1991 年問世到現(xiàn)在,在短短的十多年的時(shí)間已發(fā)展成為一個(gè)功能強(qiáng)大、設(shè)計(jì)完善的操作系統(tǒng),伴隨網(wǎng)絡(luò)技術(shù)進(jìn)步而發(fā)展起來的 Linux 系統(tǒng)己成為 Microsoft 公司 Windows 系列產(chǎn)品的強(qiáng)勁對手。 (3)Linux 的內(nèi)核小、效率高,而 WindowsCE 在這方面是笨拙的,占用過多的 RAM,應(yīng)用程序龐大。 (7)Linux 的可靠性高,可以說是經(jīng)過驗(yàn)證,可以用在關(guān)鍵任務(wù)和場合的多應(yīng)用的操作系統(tǒng)。在高層的網(wǎng)絡(luò)協(xié)議中, Linux 支持 tel 和 riogin 協(xié)議, Linux 還能提供對網(wǎng)絡(luò)上其他機(jī)器內(nèi)文件的訪問 (NFS,網(wǎng)絡(luò)洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 11 文件系統(tǒng) )。 Linux 內(nèi)核結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,它提供了對包括十兆位、百兆位及千兆位的以太網(wǎng)絡(luò),還有無線網(wǎng)絡(luò)、Token Ring(令牌環(huán) )和光纖甚至衛(wèi)星的支持 [4]。它是目前廣泛使用的Inter的基礎(chǔ),雖然它不是國際標(biāo)準(zhǔn),但事實(shí)上已成為計(jì)算機(jī)網(wǎng)絡(luò)的工業(yè)標(biāo)準(zhǔn)。 運(yùn)輸層:在此層中,它提供了節(jié)點(diǎn)間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報(bào)協(xié)議 (UDP)等, TCP和 UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達(dá)并接收。應(yīng)用層編程調(diào)用 Linux套接字接 ISl(SOCKET)實(shí)現(xiàn) TCP/IP通信。 RTCP負(fù)責(zé)控制實(shí)時(shí) 媒體數(shù)據(jù)傳輸,提供可靠的傳送機(jī)制、流量控制和擁塞控制。此 RTP和 RTCP協(xié)議框架的代碼實(shí)現(xiàn)必須建立在 UDP/TCP層之上,把實(shí)時(shí)多媒體數(shù)據(jù)轉(zhuǎn)化為 RTP包,并產(chǎn)生 RTCP包,同時(shí)具有收發(fā) RTP/RTCP包的功能, 并為上層的應(yīng)用程序提供接口。 RTP協(xié)議主要包括兩個(gè)部分:一部分定義 RTP的數(shù)據(jù)報(bào)文格式 (見圖 ) 和使用規(guī)則,主要是傳送具有實(shí)時(shí)屬性的數(shù)據(jù); 另一部分為 RTP控制協(xié)議 (RTCP), 采用與數(shù)據(jù)包相同的分發(fā)機(jī)制,將控制包周期性地傳輸?shù)剿袝?huì)話參與者中,提供數(shù)據(jù)分 發(fā)質(zhì)量反饋信息,以制定流量控制策略 [6]。 MPEG4使多媒體內(nèi)容更多元化、更具有彈性,且多媒體組件更容易被再利用。除此之外,為了使壓縮碼流具有抗信道 誤碼的特性,方便應(yīng)用于帶寬受限、誤碼易發(fā)的無線網(wǎng)絡(luò)和Inter, MPEG4還提供用于誤碼檢測和誤碼恢復(fù)的一系列工具。應(yīng)用 JPEG 格式可以進(jìn)行圖像壓縮,如果想要洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 14 進(jìn)一步提高系統(tǒng)性能,可以考慮使用 來進(jìn)行視頻壓縮 。 上位機(jī)的結(jié)構(gòu)和服務(wù)器端相似,設(shè)計(jì)了一個(gè)類 CTCPSock 對網(wǎng)絡(luò)套接字的相關(guān)操作進(jìn)行了封裝,其提供的主要接口方法如下: bool Init(CHClientDlg*pDlg, DWORD inRemoteIP, int inRemotePort, HWND inwnd=NULL); bool Reconnect(void); Void Disconnect(void); Void SetCountWnd(HWNDinwnd); int Sendlnfo(unsigned int nMsgType); 其中 Init()接口方法主要進(jìn)行網(wǎng)絡(luò)套接字的相關(guān)初始化,主要工作有:將接口方法中所傳遞過來的相關(guān)參數(shù)賦值給對應(yīng)成員;通信協(xié)議的版本協(xié)商;創(chuàng)建客戶端 TCP 套接字;創(chuàng)建退出和數(shù)據(jù)接收事件;遠(yuǎn)程套接字地址填充;連接遠(yuǎn)程服務(wù)器等。當(dāng)解析到已接收完一幀數(shù)據(jù) (信息類型為DATA_AFRAME),則給主窗口發(fā)送一條數(shù)據(jù)準(zhǔn)備好消息。 SetCountWnd(HWND inWnd)接口方法為數(shù)據(jù)幀計(jì)數(shù)傳遞一個(gè)窗口句柄,本系統(tǒng)中每接收到一幀數(shù)據(jù),則會(huì)更新狀態(tài)欄窗口中的幀的總數(shù)目。 實(shí) 例 化 C T C P S o c k 類 對象 t c p C l i e n t調(diào) 用 t c p C l i e n t . I n i t進(jìn) 行 初 始 化 工 作調(diào) 用t c p C l i e n t . S e n d I n f o發(fā) 送 數(shù) 據(jù) 請 求調(diào) 用t c p C l i e n t . D i s c o n n e c t暫 停 數(shù) 據(jù) 傳 輸調(diào) 用t c p C l i e n t . R e c o n n e c t繼 續(xù) 數(shù) 據(jù) 傳 輸主 程 序 中 完 善 O n D a t a A r r i v e d消 息 響 應(yīng) 函 數(shù) 圖 24 CTCPSock 類的使用流程圖 上位機(jī)程序設(shè)計(jì) 上位機(jī) 服務(wù)器應(yīng)用程序主要是完成圖像數(shù)據(jù)的接收、顯示和存儲功能,同時(shí)也給終端發(fā)送簡單的控制命令。 客戶機(jī)程序發(fā)出連接請求,使服務(wù)器程序產(chǎn)生 Connection Request事件,該事件得到一個(gè)參數(shù) requestID。在該事件中,處理接受數(shù)據(jù)的保存和顯示等。 1. 數(shù)據(jù)包的接收 數(shù)據(jù)包的接收過程比較簡單,主要由一系列 SOCKET 編程接口的調(diào)用所組成,主要有以下幾個(gè)過程: (1) 通過 socket()調(diào)用創(chuàng)建 TCP 套接口。 2. 視頻數(shù)據(jù)的重組 因?yàn)檫M(jìn)行數(shù)據(jù)的傳輸有可能會(huì)出現(xiàn)數(shù)據(jù)包的丟失與亂序。 因?yàn)?MPEG4 數(shù)據(jù)的解碼是以 VOP 為單位進(jìn)行的,多個(gè) VOP 的解碼結(jié)果才構(gòu)成一幀完整的圖像,簡單的說就是以流的形式進(jìn)行的,而不是視頻幀的方 式。 重組的基本方法是這樣的: (1) 首先按照序號從小到大的順序?qū)⒔邮站彌_區(qū)中的數(shù)據(jù)包插入數(shù)據(jù)重組緩沖區(qū)。 第二種情況,缺失的數(shù)據(jù)包是某個(gè) VOP 的切分。addrSrv,sizeof(SOCKADDR)); listen(m_socket,5); return TRUE; 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 19 } //接受數(shù)據(jù)事件,有 Socket 類在接收數(shù)據(jù)后自動(dòng)觸發(fā)的事件 void CTransDlg::OnRecvData(WPARAM wParam,LPARAM IParam) { CString str=(char*)lParam; CString strTemp; GetDlgltemText(IDC_EDIT_RECV,strTemp); str+=" \r\n"; str+=strTemp; SetDlgItemText(IDC_EDIT_RECV,str); } //啟動(dòng) RecvProc 線程處理接收到的數(shù)據(jù) void CTransDlg::OnCon() { TODO:Add your control notification handler code hem DWORD dwIP; ((CIPAddressCtrl*)GetDlgItem(IDC_IPADDRESSl))GetAddress(dwIP); SRVPARAM*pSrvParam=new SRVPARAM; pSrvParamsock=m_socket; pSrvParamhwnd=m_hWnd; HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pSrvParam,0,NULL); m_hThread=hThread; CloseHandle(hThread); } 壓縮圖像解碼顯示 Visual C++的 CBitmap類和靜態(tài)圖片控件的功能是比較弱的,它只能顯示出在資源總的圖標(biāo)、位圖、光標(biāo)以及圖元文件的內(nèi)容,而不像 VB中的 Image洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 20 控件可以顯示出絕大多數(shù)的外部圖像文件 (BMP,GIF,JPEG等 )。如, BMP、 JPEG、 GIF等許多文件格式都 能識別 , 使用很方便。圖像對象也支持外部接口IPropertyNotifySink,以便用戶能在圖像屬性發(fā)生改變 時(shí) 做出 決定。 以下是實(shí)現(xiàn) JPEG 圖像顯示的原理代碼 BOOL CShowDlg::ShowJpgGif(CDC*pDC,CString strPath) { IStream*pStm; CFileStatus fstatus; CFile file; LONG cb; //打開文件并檢測文件的有效性 if((strPath,CFile::modeRead)amp。 ((cb=)!=1)) 洛陽理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 21 { //分配全局存儲空間 HGLOBAL hGlobal=GlobaiAlloc(GMEM_M
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1