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

正文內(nèi)容

畢業(yè)設(shè)計(jì)---基于vc的視頻采集系統(tǒng)的開(kāi)發(fā)-在線瀏覽

2025-03-01 21:29本頁(yè)面
  

【正文】 ,畢業(yè)設(shè)計(jì)論文 __基于 VC++的視頻采集系統(tǒng) 4 形 成組合信號(hào)顯示在計(jì)算機(jī)的監(jiān)視器上。 Visual C++ 在支持 VFW 方面提供有 、 、 類(lèi)似的庫(kù)。AVICap 為應(yīng)用程序提供了一個(gè)簡(jiǎn)單的、基于消息的接口,使之能訪問(wèn)視頻和波形音頻硬件,并能在將視頻流捕獲到硬盤(pán)上的過(guò)程中進(jìn)行控制。VC++整合了便利的除錯(cuò)工具,特別是整合了微軟 視窗 程式設(shè)計(jì)( Windows API)、 三維動(dòng)畫(huà) DirectX API, Microsoft .NET框架。 Microsoft Visual C++,(簡(jiǎn)稱(chēng) Visual C++、 MSVC、 VC++或 VC) 微軟公司 的 C++開(kāi)發(fā)工具,具有 集成開(kāi)發(fā)環(huán)境 ,可提供編輯 C 語(yǔ)言 , C++以及 C++/CLI 等 編程語(yǔ)言 。目前最新的版本是 Microsoft Visual C++ 2022。比如,它允許用戶(hù)進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱(chēng)。 Microsoft Visual C++ ,集成了 ,于 1998 發(fā)行。但是,這個(gè)版本在 WindowsXP 下運(yùn)行會(huì)出現(xiàn)問(wèn)題,尤其是在調(diào)試模式的情況下(例如:靜態(tài)變量的值并不會(huì)顯 示)。 C++的設(shè)計(jì)原則 ? C++設(shè)計(jì)成靜態(tài)類(lèi)型、和 C同樣高效且可移植的多用途程序設(shè)計(jì)語(yǔ)言。 ? C++設(shè)計(jì)成給程序設(shè)計(jì)者更多的選擇,即使可能導(dǎo)致程序設(shè)計(jì)者選擇錯(cuò)誤。 ? C++避免平臺(tái)限定或沒(méi)有普遍用途的特性。 ? C++設(shè)計(jì)成無(wú)需復(fù)雜的程序設(shè)計(jì)環(huán)境。關(guān)于此類(lèi)話題, C++之父的《 C++語(yǔ)言的設(shè)計(jì)和演化》 里做了詳盡的陳述。這是個(gè)超小型的管理系統(tǒng),從投入的人力, 財(cái)力與物力來(lái)講是非常之小的,只要一臺(tái)電腦,一 部USB 接口高清攝像頭 ,這個(gè)系統(tǒng)就可以搞起來(lái),考慮到學(xué)校里有電腦,現(xiàn)只要購(gòu)置一 部 USB 接口高清攝像頭 就可以了。 二、 技術(shù)上的可行性 VFW(Video for Windows)是 Microsoft 推出的關(guān)于數(shù)字視頻的一個(gè)軟件開(kāi)發(fā)包 , 在 VC++開(kāi)發(fā)環(huán)境中調(diào)用 VFW 和使用其它開(kāi)發(fā)包沒(méi)有什么不同,只是需要將 文件加入工程中 。 開(kāi)發(fā) VFW視頻采集軟件,一般的開(kāi)發(fā)步驟如下: ? 創(chuàng)建視頻采集窗口 ? 關(guān)聯(lián)采集窗口與采集驅(qū)動(dòng)程序 ? 設(shè)置采集參數(shù) ? 響應(yīng)用戶(hù)的操作,開(kāi)始 /結(jié)束視頻采集 三、總結(jié) 通過(guò)以上兩點(diǎn)的分析,編寫(xiě)或開(kāi)發(fā)這個(gè) 視頻采集 系統(tǒng)是可行的,只要這個(gè)系統(tǒng)能利用攝像頭 實(shí)現(xiàn)對(duì) 視頻的采集、抓圖功能以及部分參數(shù)調(diào)整 就可以了。 本論文的關(guān)鍵問(wèn)題是通過(guò) 調(diào)用程序自定義的回調(diào)函數(shù)來(lái)實(shí)現(xiàn)程序畫(huà)面顯示一個(gè)實(shí)時(shí)的視頻信號(hào)并具有拍攝,保存和查看的功能。 畢業(yè)設(shè)計(jì)論文 __基于 VC++的視頻采集系統(tǒng) 6 系統(tǒng)開(kāi)發(fā)流程分析 初始化操作 創(chuàng)建捕獲窗口 函數(shù) capCreateCaptureWindow() 返回視頻捕獲窗口,它是所有捕獲工作及設(shè)置的基礎(chǔ),其主要功能包括: ① 動(dòng)態(tài)地同視頻和音頻輸入器連接或斷開(kāi); ② 設(shè)置視 頻捕獲速率; ③ 提供視頻源、視頻格式以及是否采用視頻壓縮的對(duì)話框; ④ 設(shè)置視頻采集的顯示模式為 Overlay 或?yàn)?Preview。 HWND m_hCapWnd = capCreateCaptureWindow(Capture,WS_POPUP,0,0,1,1,0,0)。 m_hCapWnd 窗口句柄相當(dāng)于 vfw 捕獲活動(dòng)的基礎(chǔ),他就代表了這個(gè)捕獲。在以一些實(shí)時(shí)監(jiān)控系統(tǒng)或視頻會(huì)議系統(tǒng)中,需要將數(shù)據(jù)流在寫(xiě)入磁盤(pán)以前就必須加以處理,達(dá)到實(shí)時(shí)功效。 例如,設(shè)置回調(diào)函數(shù): capSetCallbackOnVideoStream(m_hCapWnd, OnCaptureVideo)。 szDevName 和 szDevVersion 返回當(dāng)前第 iIndex 個(gè)設(shè)備的設(shè)備名稱(chēng)和版本。 獲取捕獲窗口的缺省參數(shù) 畢業(yè)設(shè)計(jì)論文 __基于 VC++的視頻采集系統(tǒng) 7 CAPTUREPARMS CapParms = {0}。CapParms, sizeof(CapParms))。 // 退出鼠標(biāo)設(shè)置 = FALSE。 // 使用背景作業(yè) = FALSE。 // 允許遺失的百分比 設(shè)置捕獲窗口的相關(guān)參數(shù) capCaptureSetSetup(m_hCapWnd, amp。 獲得視頻的格式、大小 capGetVideoFormat(m_hCapWnd, amp。 更改視頻的尺寸 = 176。 1設(shè)置新的視頻屬性 capSetVideoFormat(m_hCapWnd, amp。 1開(kāi)始繪制 Dib ::DrawDibBegin(m_hDib, m_hDC, 1, // don39。t stretch amp。 1開(kāi)始捕獲 capCaptureSequenceNoFile(m_hCapWnd)。 ::DrawDibClose(m_hDib)。 1使回調(diào)函數(shù)無(wú)效 capSetCallbackOnVideoStream(m_hCapWnd, NULL)。 在回調(diào)函數(shù)中的操作 1關(guān)聯(lián)數(shù)據(jù)到一個(gè)捕獲窗體 CVideoCapture *vidcap=(CVideoCapture *)capGetUserData(hwnd)。 獲取采集設(shè)備的功能和狀態(tài): 通過(guò)宏 capDriverGetCaps(hWndCap,amp。m_CapStatus,sizeof(m_CapStatus))來(lái)獲取視頻設(shè)備的狀態(tài)。 用戶(hù)的觀點(diǎn)看,要求系統(tǒng)能夠達(dá)到以下 目標(biāo) 1) 對(duì)信息的收集和保存信息。對(duì)那些共享的數(shù)據(jù)要快速的傳遞。要求比手工作業(yè)提供的更加準(zhǔn)確和細(xì)致的數(shù)據(jù) 。 2) 有較高的可靠性,將系統(tǒng)發(fā)生故障的概率控制在 %以下,并具有快速恢復(fù)的能力 3) 具有較高的運(yùn)行效率,應(yīng)比人工作業(yè)提高效率高。 設(shè)計(jì) 策略 本系統(tǒng)的結(jié)構(gòu)是自頂向下擴(kuò)展的,層次化的暗盒模塊結(jié)構(gòu)。此外,為了提高模塊的內(nèi)聚性,降低模塊間的偶合程度,數(shù)據(jù)庫(kù)的設(shè)計(jì)原則是把他作為模塊間的郵政信箱,從而既實(shí)現(xiàn)數(shù)據(jù)共享有提高模塊的獨(dú)立性,使系統(tǒng)具有很高的可修改性。 該系統(tǒng)充分利用計(jì)算機(jī)的功能實(shí)現(xiàn)對(duì) 即時(shí)攝像頭采集到的信息進(jìn)行 錄像和抓圖,并圖視頻的音頻字幕等參數(shù)進(jìn)行合理的設(shè)置,此外還要對(duì)采集到的信息進(jìn)行合理性的保存,包括采集到的視頻的保存格式、抓圖后的圖片的保存格式等。圖像處理所涉及的領(lǐng)域有軍事應(yīng)用、醫(yī)學(xué)診斷、工業(yè)監(jiān)視、物體的自動(dòng)分檢識(shí)別系統(tǒng)等等,這些系統(tǒng)無(wú)不必計(jì)算機(jī)提供實(shí)時(shí)動(dòng)態(tài),效果逼真的圖像。目前網(wǎng)上基于 VC 研發(fā)經(jīng)驗(yàn)的 文章不少,可是關(guān)于怎么在 VC 研發(fā)平臺(tái)上使用圖像采集卡的文章確沒(méi)發(fā)現(xiàn),筆者針對(duì)在科研研發(fā)中積累的使用圖像采集卡經(jīng)驗(yàn),介紹怎么自己是怎么將采集卡集成到圖像研發(fā)系統(tǒng)中,希望能夠給目前正需要利用圖像采集卡研發(fā)自己的圖像處理系統(tǒng)的朋友有所幫助。該攝像機(jī)分辨率為 752x582。使用圖像采集卡分三步,首先安裝采集卡的驅(qū) 動(dòng)程式,并將虛擬驅(qū)動(dòng)文件 拷貝到視窗系統(tǒng)的 SYSTEM 目錄下;這時(shí)候就能進(jìn)入研發(fā)狀態(tài)了,進(jìn)入 VC 研發(fā)平臺(tái),生成新的項(xiàng)目,由于生產(chǎn)廠家為圖像采集卡提供了以 、 命名的庫(kù)文件,庫(kù)中提供了初始硬件、采集圖像等函數(shù),為使用這些函數(shù),在新項(xiàng)目上連接該動(dòng)態(tài)庫(kù);最后一步就是采集圖像并顯示處理了,這一步要設(shè)置系統(tǒng)調(diào)色板,因?yàn)椴杉ㄌ峁┑氖锹銏D像式,既純圖像數(shù)據(jù),沒(méi)有圖像的規(guī)格和調(diào)色板信息,這些需要研發(fā)者自己規(guī)定實(shí)現(xiàn), VC++編程規(guī)范 【規(guī)則 1】標(biāo)識(shí)符應(yīng)簡(jiǎn)單明了, 望文知意。切忌使用漢語(yǔ)拼音來(lái)命名。例如不要把 CurrentValue 寫(xiě)成 NowValue。只有當(dāng)標(biāo)識(shí)符過(guò)長(zhǎng)時(shí)才考慮使用單詞縮寫(xiě)。 【規(guī)則 2】標(biāo)識(shí)符長(zhǎng)度應(yīng)當(dāng)符合“ minlength amp。 maxinformation”原則。但是名字也不是越長(zhǎng)越好。單字符的名字也是有用的,常見(jiàn)的如 i,j,k,m,n,x,y,z等,它們通常用作函數(shù)內(nèi)的局部變量。 例如 Windows 應(yīng)用程序的標(biāo)識(shí)符通常采用“大小寫(xiě)”混排的方式,如 AddChild。別把這兩類(lèi)風(fēng)格混在一起用。 例如: int x 和 int X; void foo() 和 void FOO() 等。 程序中不要出現(xiàn)標(biāo)識(shí)符完全相同的局部變量和全局變量,盡管兩者因作用域的不同而不會(huì)發(fā)生語(yǔ)法錯(cuò)誤,但會(huì)使人產(chǎn)生誤解。 使用正確的反義詞組命名具有互斥意義的變量或相反動(dòng)作的函數(shù)。 如 Value1,Value2 等,除非邏輯上的確需要編號(hào)。 【規(guī)則 8】使用庫(kù)標(biāo)志 在開(kāi)發(fā)動(dòng)態(tài)庫(kù)時(shí),為了防止軟件庫(kù)中的一些標(biāo)識(shí)符和其它軟件庫(kù)中標(biāo)識(shí)符沖突,可以為各種標(biāo)識(shí)符加上能反映軟件性質(zhì)的前綴。 VC++自 以來(lái)就支持 VFW,大大簡(jiǎn)化了視頻應(yīng)用程序的開(kāi)發(fā)。 1 VFW 的體系結(jié)構(gòu) VFW 以消息驅(qū)動(dòng)方式對(duì)視頻設(shè)備進(jìn)行存取,可以很方便地控制設(shè)備數(shù)據(jù)流的工作過(guò)程。 VFW體系結(jié)構(gòu)如圖 1 所示。 2) :能夠?qū)⒁曨l捕獲窗口與獲驅(qū)動(dòng)設(shè)備連接起來(lái),支持 ICM 視頻編碼服務(wù)。 4) :提供對(duì) AVI 文件的讀寫(xiě)操作等文件管理功能。 6) ACM ( Audio Compression Manager ):即音頻壓縮管理器,提供實(shí)時(shí)音頻壓縮及解壓縮功能。視頻捕獲的一般過(guò)程如下: 建立捕獲窗口 利用 AVICAP 組件函數(shù) capCreateCaptureWindow() 建立視頻捕獲窗口,它是所有捕獲工作及設(shè)置的基礎(chǔ),其主要功能包括: ① 動(dòng)態(tài)地同視頻和音頻輸入器連接或斷開(kāi); ② 設(shè)置視頻捕獲速率; ③ 提供視頻源、視頻格式以及是否采用視頻壓縮的對(duì)話框; ④ 設(shè)置視頻采集的顯示模式為 Overlay 或?yàn)?Preview。 登記回調(diào)函數(shù) [2] 登記回調(diào)函數(shù)用來(lái)實(shí)現(xiàn)用戶(hù)的一些特殊需要。應(yīng)用程序可用捕獲窗來(lái)登記回調(diào)函數(shù),以便及時(shí)處理以下情況:捕獲窗狀態(tài)改變、出錯(cuò)、使用視頻或音頻緩存、放棄控制權(quán)等,相應(yīng)的回調(diào)函數(shù)分別為 capStatusCallback(), capErrorCallback(), capVideoStreamCallback(), capWaveStreamCallback(),capYieldCallback()。m_Parms,sizeof(m_Parms))來(lái)完成。m_Parms,sizeof(m_Parms))來(lái)完成。 獲取采集設(shè)備的功能和狀態(tài) 通過(guò)宏 capDriverGetCaps(hWndCap,amp。m_CapStatus,sizeof(m_CapStatus)) 來(lái)獲取視頻設(shè)備的狀態(tài)。在疊加模式下,捕獲視頻數(shù)據(jù)布展系統(tǒng)資源,顯示速度快,視頻采集格式為 YUV 格式,可通過(guò)capOverlay(hWndCap,TRUE)來(lái)設(shè)置;預(yù)覽模式 下要占用系統(tǒng)資源,視頻由系統(tǒng)調(diào)用GDI 函數(shù)在捕獲窗顯示,顯示速度慢,它支持 RGB 視頻格式。如果要保存采集數(shù)據(jù),則可調(diào)用 capCaptureSequence( hWnd);要指 定文件名,可調(diào)用capFileSetCap ture(hwnd, Filename)。 3 視頻編輯和播放 利用 VFW,不僅可以實(shí)現(xiàn)視頻流的實(shí)時(shí)采集,還提供了編輯和播放功能,主要通過(guò) AVIFILE、 ICM
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1