版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)論文(設(shè)計)</p><p> 題 目:基于機器視覺的運動目標跟蹤系統(tǒng)設(shè)計 </p><p> 專業(yè)代碼: </p><p> 作者姓名: </p><p> 學 號:
2、 </p><p> 單 位: 物理科學與信息工程學院 </p><p> 指導(dǎo)教師: </p><p> 2012年 5月 20日</p><p><b> 目 錄</b></p><p><b>
3、摘 要2</b></p><p><b> 引言4</b></p><p> 第一章 基于OpenCV的運動目標跟蹤實驗平臺5</p><p> 1.1 OpenCV介紹5</p><p> 1.2運動物體的檢測與跟蹤6</p><p> 1.3 Win
4、dows多線程編程7</p><p> 1.4實驗結(jié)果10</p><p><b> 1.5展望10</b></p><p> 第二章 機器視覺、.NET與C#11</p><p> 2.1機器視覺介紹10</p><p> 2.2.net與C#簡介12</p>
5、<p> 2.1.1.net與C#的概念12</p><p> 2.1.2.net與C#的特點12</p><p><b> 2.3小結(jié)15</b></p><p> 第三章 運動目標跟蹤系統(tǒng)的圖像處理單元設(shè)計16</p><p> 3.1. 視頻運動目標跟蹤器的總體結(jié)構(gòu)16</p&
6、gt;<p> 3.2.圖像處理模塊設(shè)計16</p><p> 3.2.1 圖像處理模塊的組成16</p><p> 3.2.2. 中值濾波16</p><p> 3.2.3圖像邊緣檢測17</p><p> 3.2.4 SAD匹配跟蹤模塊的設(shè)計18</p><p><b>
7、 3.3總結(jié)18</b></p><p><b> 總結(jié)19</b></p><p><b> 參考文獻20</b></p><p><b> 致 謝21</b></p><p><b> 摘 要</b></p>
8、<p> 運動目標的檢測跟蹤在機器人視覺、監(jiān)控測量和視頻壓縮編碼等等方面有著廣泛的應(yīng)用,是近年來的一個研究熱點。本文設(shè)計了一個利用OpenCV軟件的基于機器視覺的運動目標檢測跟蹤實驗平臺,對攝像頭視野中的運動目標進行實時檢測和跟蹤,并留下編程和硬件接口。</p><p> 運動目標跟蹤系統(tǒng)的圖像處理單元對于系統(tǒng)跟蹤的準確性與實時性至關(guān)重要。文中將跟蹤系統(tǒng)采集到的動態(tài)圖像序列經(jīng)過預(yù)處理后送入圖像處
9、理單元進行中值濾波、邊緣檢測以及匹配跟蹤,實現(xiàn)對運動目標的信息跟蹤。該文對傳統(tǒng)的中值濾波算法進行改進,同時對Sobel邊緣檢測算法進行改進,減少了系統(tǒng)的運算時間,使系統(tǒng)的圖像處理單元具有更快的處理速度和更高的實時性。</p><p> 關(guān)鍵詞 : 目標跟蹤;OpenCV; C#;ASIC;邊緣檢測</p><p><b> Abstract</b></p&g
10、t;<p> Moving targets detection in the robot vision, monitoring tracking measurement and video compression coding, and so on in a wide range of applications, in recent years is a hot research topic. This paper de
11、signs an OpenCV using software based on machine vision of the moving object detection and tracking experimental platform, camera moving object in view of real-time detection and tracking, and leave programming and hardwa
12、re interface. </p><p> Abstract:The image processing unit is key to the precision and timeliness of the moving target tracking system.The system collects the dynamic image and preproeesses it,then sends the
13、 results to the image processing unit to accomplish the operation of median filter,edge detection an d match tracking.The paper introduces an improved median filter algorithm and a novel edge detection algorithm based on
14、 Sobel algorithm.After manipulated as above,the image processing unit decreases the times of oper</p><p> Key words: Target Tracking; OpenCV; C#; ASIC; Edge Detection</p><p> 基于機器視覺的運動目標跟蹤系統(tǒng)設(shè)計
15、</p><p><b> 引言</b></p><p> 目前,數(shù)字圖像處理在國民生產(chǎn)中起到日益重要的作用,對其的研究也日益廣泛和深入。OpenCV程序庫作為數(shù)字圖像研究的軟件助手,具有簡單易用、功能強大、移植方便等優(yōu)越性能。本文首先實驗設(shè)計了一個基于OpenCV的運動目標檢測跟蹤實驗平臺,對從攝像頭采集來的圖像數(shù)據(jù)進行實時的分析,從而實現(xiàn)對運動物體的檢測與跟蹤
16、。實驗旨在了解OpenCV的性能,學習OpenCV的使用方法;嘗試并逐漸熟悉圖像處理,特別是運動目標跟蹤方面的知識;以及進一步提高Windows操作系統(tǒng)下使用C語言和C++編程的能力。</p><p> C# 是由微軟公司開發(fā)的一種面向?qū)ο蟮男滦途幊陶Z言。它保留了 C/C++原有的強大功能,并且繼承了 C/C++的靈活性,而且它又同 Visual Basic 一樣具有簡單的語法和高效的開發(fā)能力。對于編寫數(shù)字圖像
17、處理算法的程序員來說,相比主流的應(yīng)用軟件 C++,C# 不失為一種更佳的選擇。</p><p> 第一章 基于OpenCV的運動目標跟蹤實驗平臺</p><p> 1.1 OpenCV介紹</p><p> OpenCV是Intel開源計算機視覺庫(Open Computer Vision)的簡稱。它由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,實現(xiàn)了圖像處理和
18、計算機視覺方面的很多通用算法。OpenCV 擁有包括300多個C函數(shù)的跨平臺的中、高層API。它不依賴與其它的外部庫,盡管也可以使用某些外部庫。OpenCV具有以下特點:</p><p><b> 1.開放源碼</b></p><p> 2.基于Intel處理器指令集開發(fā)的優(yōu)化代碼</p><p> 3.統(tǒng)一的結(jié)構(gòu)和功能定義</p&
19、gt;<p> 4.強大的圖像和矩陣運算能力</p><p> 5.方便靈活的用戶接口</p><p> 6.支持MS-Windows和Linux操作系統(tǒng)</p><p> 由于有了以上性能特點,OpenCV函數(shù)庫功能強大,簡單易用,移植也很方便,不失為學生和科研人員進行數(shù)字圖像處理方面學習和研究的好工具。</p><p&g
20、t; 1.2運動物體的檢測與跟蹤</p><p> 數(shù)字圖像處理中,運動物體的檢測和跟蹤在機器人視覺、監(jiān)控測量和視頻壓縮編碼等方面有著廣泛的應(yīng)用,是近年來的一個研究熱點。隨著研究的深入,應(yīng)用于運動物體跟蹤的算法也越來越多:從最簡單的“幀差法”,到“背景消減法”到“模板匹配法”,到帶有預(yù)測功能的“卡爾曼濾波”和“粒子濾波”等算法,都在不斷地提高對運動目標檢測和跟蹤的準確性和高效性。</p><
21、;p> 本平臺在進行運動物體檢測跟蹤時所采用的算法是:首先利用“幀差法”檢測出初始的運動目標;一旦認為此目標合法,便根據(jù)目標在HSI(色調(diào)、飽和度、強度)空間中H通道的色調(diào)特性,利用“連續(xù)適應(yīng)性均值移動算法(CamShift)”,對目標進行跟蹤。</p><p> CamShift算法簡述如下:首先,在圖像HSI空間中計算H通道(色彩通道)分量的1D直方圖;接著,利用此1D直方圖將原圖改建成2D概率分布
22、圖;第三步,計算出目標區(qū)域的重心;第四部,利用經(jīng)典的“Mean Shift”算法,不斷平移調(diào)整窗口中心到與目標重心重合;第五步,將上一幀的窗口大小和中心,作為下一幀Mean Shift算法搜索窗口的初始值,在下一幀中繼續(xù)Mean Shift運算。</p><p> 圖1.2CamShift流程</p><p> 上述運動物體檢測和跟蹤的算法運算量小,跟蹤效果好。只要初始抓取目標無誤,并
23、且在色彩空間上目標與背景有一定偏差,視頻跟蹤便能夠達到相當?shù)臏蚀_度。更好的一點是,此算法在跟蹤同一場境內(nèi)多個運動目標其中的一個時的效果,是其它同樣計算復(fù)雜度的算法所難以比擬的。</p><p> 1.3 Windows多線程編程</p><p> 為了達到良好的實時性能,充分利用CPU資源,本平臺采用多線程并發(fā)處理模式進行編程。在Windows操作系統(tǒng)下,線程與進程調(diào)度都有著
24、一套封裝好的方法,各線程輪流占用CPU資源。既然沒有多個CPU進行真正的程序“并發(fā)”執(zhí)行,多線程編程要做的就是如何利用線程的“休眠”事件,合理充分地使用資源,以達到提高程序運行效率的目的。</p><p> 本平臺中,程序由兩個線程組成:main線程和GetImage線程。Main線程作為主線程,它啟動了GetImage線程;除此之外main線程的主要功能就是利用OpenCV函數(shù)庫,對從攝像頭獲取的圖像數(shù)據(jù)進行
25、分析處理;此外main線程還負責獲取用戶輸入信息。GetImage線程的主要工作就是循環(huán)地從攝像頭讀取數(shù)據(jù)放到緩存中,以供main線程分析。在這當中,GetImage線程往緩存中寫數(shù)據(jù)與從緩存中讀數(shù)據(jù)將不可避免地操作同一塊緩存;為防止數(shù)據(jù)讀寫沖突出錯,兩線程在操作這塊緩存時都必須上鎖。這在本平臺程序中是通過“互斥量”來實現(xiàn)的。另外,為防止main線程重復(fù)地分析同一幀圖像,要求main線程必須等待GetImage線程的一個信號才能進行數(shù)據(jù)
26、讀取和分析,這在平臺程序中是通過Wait/Object的方式來實現(xiàn)的。</p><p> 程序流程圖如圖1.3.1、圖1.3.2所示</p><p> 圖1.3.1 GetImage線程</p><p><b> 圖1.3.2主線程</b></p><p><b> 1.4實驗結(jié)果 </b>
27、</p><p> 經(jīng)過實驗證明,基于OpenCV的運動目標檢測跟蹤實驗平臺可以在實時顯示圖像的基礎(chǔ)上,實時檢測和跟蹤運動目標,并且檢測和跟蹤具有較高的魯棒性。在跟蹤過程中,即時目標保持靜止,程序也不會丟失對目標的跟蹤。檢測跟蹤結(jié)果如圖1.4.1所示:</p><p> 圖1.4.1檢測跟蹤結(jié)果</p><p><b> 1.5展望</b>
28、;</p><p> 本實驗設(shè)計的基于OpenCV的目標檢測、跟蹤平臺,由于其較低的計算復(fù)雜度和較高的魯棒性,不僅可用于智能吸塵器的控制;也可用于其它基于全地圖路徑規(guī)劃的機器人領(lǐng)域,比如:收割、搜救、測繪、探傷等等場合。因此本平臺具有廣泛的應(yīng)用前景。</p><p> 第二章 .NET與C#</p><p><b> 2.1機器視覺介紹</b&
29、gt;</p><p><b> 2.1.1 概述</b></p><p> 機器視覺就是用機器代替人眼來做測量和判斷。機器視覺系統(tǒng)是指通過機器視覺產(chǎn)品(即圖像攝取裝置,分 CMOS 和CCD 兩種)將被攝取目標轉(zhuǎn)換成圖像信號,傳送給專用的圖像處理系統(tǒng),根據(jù)像素分布和亮度、顏色等信息,轉(zhuǎn)變成數(shù)字化信號;圖像系統(tǒng)對這些信號進行各種運算來抽取目標的特征,進而根據(jù)判別的
30、結(jié)果來控制現(xiàn)場的設(shè)備動作。</p><p> 機器視覺系統(tǒng)的特點是提高生產(chǎn)的柔性和自動化程度。在一些不適合于人工作業(yè)的危險工作環(huán)境或人工視覺難以滿足要求的場合,常用機器視覺來替代人工視覺;同時在大批量工業(yè)生產(chǎn)過程中,用人工視覺檢查產(chǎn)品質(zhì)量效率低且精度不高,用機器視覺檢測方法可以大大提高生產(chǎn)效率和生產(chǎn)的自動化程度。而且機器視覺易于實現(xiàn)信息集成,是實現(xiàn)計算機集成制造的基礎(chǔ)技術(shù)。</p><p&g
31、t;<b> 2.1.2基本結(jié)構(gòu)</b></p><p> 一個典型的工業(yè)機器視覺系統(tǒng)包括:光源、鏡頭、 相機(包括CCD 相機和COMS相機)、圖像處理單元(或圖像捕獲卡)、圖像處理軟件、監(jiān)視器、通訊 / 輸入輸出單元等。</p><p><b> 2.1.3工作原理</b></p><p> 機器視覺檢測系統(tǒng)采
32、用CCD照相機將被檢測的目標轉(zhuǎn)換成圖像信號,傳送給專用的圖像處理系統(tǒng),根據(jù)像素分布和亮度、顏色等信息,轉(zhuǎn)變成數(shù)字化信號,圖像處理系統(tǒng)對這些信號進行各種運算來抽取目標的特征,如面積、數(shù)量、位置、長度,再根據(jù)預(yù)設(shè)的允許度和其他條件輸出結(jié)果,包括尺寸、角度、個數(shù)、合格 / 不合格、有 / 無等,實現(xiàn)自動識別功能。</p><p> 2.2.net與C#簡介</p><p> 2.2.1.ne
33、t與C#的概念</p><p> .NET就是微軟的用來實現(xiàn)XML,Web Services,SOA(面向服務(wù)的體系結(jié)構(gòu)service-oriented architecture)和敏捷性的技術(shù)。對技術(shù)人員,想真正了解什么是.NET,必須先了解.NET技術(shù)出現(xiàn)的原因和它想解決的問題,必須先了解為什么他們需要XML,Web Services 和 SOA。技術(shù)人員一般將微軟看成一個平臺廠商。微軟搭建技術(shù)平臺,而技術(shù)
34、人員在這個技術(shù)平臺之上創(chuàng)建應(yīng)用系統(tǒng)。從這個角度,.NET也可以如下來定義:.NET是微軟的新一代技術(shù)平臺,為敏捷商務(wù)構(gòu)建互聯(lián)互通的應(yīng)用系統(tǒng),這些系統(tǒng)是基于標準的,聯(lián)通的,適應(yīng)變化的,穩(wěn)定的和高性能的。從技術(shù)的角度,一個.NET應(yīng)用是一個運行于.NET Framework之上的應(yīng)用程序。(更精確的說,一個.NET應(yīng)用是一個使用.NET Framework類庫來編寫,并運行于公共語言運行時 Common Language Runtime之上
35、的應(yīng)用程序。)如果一個應(yīng)用程序跟.NET Framework無關(guān),它就不能叫做.NET程序。比如,僅僅使用了XML并不就是.NET應(yīng)用,僅僅使用SOAP SDK調(diào)用一個Web Se</p><p> C#(讀作C sharp):是由微軟公司的Anders Hejlsberg和 Scott Willamette領(lǐng)導(dǎo)的開發(fā)小組專門為.NET平臺設(shè)計的語言。C#由C語言和C++派生而來,繼承了其強大的性能,同時又以.
36、NET 框架類庫作為基礎(chǔ),擁有類似Visual Basic的快速開發(fā)能力?!∷梢允钩绦騿T移植到.NET上。這種移植對于廣大的程序員來說是比較容易的,因為C#從C,C++和Java發(fā)展而來,它采用了這三種語言最優(yōu)秀的特點,并加入了它自己的特性。</p><p> 2.2.2.net與C#的特點</p><p> Asp.net是一種動態(tài)網(wǎng)站高級編程語言。Asp.net是一種建立在公共語
37、言運行庫上的編程框架,可用于服務(wù)器上開發(fā)強大的web應(yīng)用程序。asp.net不但執(zhí)行效率高,對代碼的控制也做的很好。并且支持web controls 功能和多種語言。以提高安全性,以管理性和高擴展性。生產(chǎn)效率,使用asp.net服務(wù)器控件和包含很多現(xiàn)有控件,可以輕松的創(chuàng)建asp.net網(wǎng)頁和應(yīng)用程序。靈活性和可擴展性,很多asp.net功能都可以擴展。這樣可以輕松的將自定義功能集成到應(yīng)用程序中。安全性,現(xiàn)在相web應(yīng)用程序添加身份驗證和
38、授權(quán)非常簡單。完整性,可以創(chuàng)建解決實時web開發(fā)挑戰(zhàn)的端對端方案。</p><p> 1.GC垃圾回收機制</p><p> 垃圾回收機制,作為CLR最大的亮點之一,使得傳統(tǒng)的Native語言(c/c++)程序員"徹底"擺脫了一直影響編程質(zhì)量的內(nèi)存泄漏問題,引得大家無數(shù)的好奇和關(guān)注。</p><p><b> 2.反射機制<
39、/b></p><p> 審查元數(shù)據(jù)并收集關(guān)于它的類型信息的能力。元數(shù)據(jù)(編譯以后的最基本數(shù)據(jù)單元)就是一大堆的表,當編譯程序集或者模塊時,編譯器會創(chuàng)建一個類定義表,一個字段定義表,和一個方法定義表等。</p><p><b> 3.泛型編程</b></p><p> .NET 2.0的System.Collections.Gene
40、rics 命名空間包含了泛型集合定義。 靈活應(yīng)用泛型可以充分發(fā)揮代碼威力,不用重復(fù)定義各類方法和無節(jié)制的類型重載</p><p><b> 4.網(wǎng)絡(luò)編程</b></p><p> 網(wǎng)絡(luò)編程方面的改進包括以下內(nèi)容:</p><p> 針對Windows身份驗證的安全改進體現(xiàn)在幾個類中,包括System.Net.HttpWebRequest,
41、System.Net.HttpListener,System.Net.Mail.SmtpClient,System.Net.Security.SslStream和 System.Net.Security.NegotiateStream。在Windows 7和Windows Server 2008 R2中運行的應(yīng)用程序可以使用擴展保護功能。</p><p><b> 5.工作流</b><
42、;/p><p> Windows通信基礎(chǔ)實現(xiàn)了消息管理方面的增強并提供與Windows工作流基礎(chǔ)的無縫集成。WF提供的改進體現(xiàn)在性能、可擴展性、工作流建模以及一個更新的可視化設(shè)計器等方面。</p><p><b> 6.并行計算</b></p><p> .NET框架 4針對編寫多線程和異步代碼引入了一個新的編程模式,從而極大地簡化了應(yīng)用程序
43、和庫開發(fā)者的編程。此新的模式可以使開發(fā)人員以一種自然的方式來編寫高效的,良好粒度的,可擴展的并行代碼,而不必直接使用線程或線程池等。新的System.Threading.Tasks命名空間和其他相關(guān)類型支持這種新模式。并行LINQ(PLINQ),作為LINQ to Objects的一種并行實現(xiàn),能夠通過聲明性語法支持類似的功能。</p><p> 7. 托管擴展性框架</p><p>
44、 托管擴展性框架(MEF)是.NET框架4中的一個新庫,幫助您構(gòu)建可擴展的和可組合式應(yīng)用程序。MEF可以讓您指定在一個應(yīng)用程序中的擴展點,給其他擴展的應(yīng)用程序提供服務(wù),以及創(chuàng)建可擴展應(yīng)用程序所使用的部件等。</p><p><b> 8.委托機制</b></p><p> C#使用一種委托模型來實現(xiàn)事件。事件的處理方法不必在將生成事件的類中定義。這種機制有許多優(yōu)勢
45、。它既有普遍性,又很靈活。設(shè)想應(yīng)用程序中有兩個按鈕,但這兩個按鈕的作用不同。如果事件處理程序被綁定到事件源,我們可能必須寫兩個派生的按鈕類,每個派生類有自己的事件處理程序。</p><p> C#在帶來對應(yīng)用程序的快速開發(fā)能力的同時,并沒有犧牲C與C++程序員所關(guān)心的各種特性。它忠實地繼承了C和C++的優(yōu)點。C#是專門為.NET應(yīng)用而開發(fā)出的語言。這從根本上保證了C#與.NET框架的完美結(jié)合。在.NET運行庫的
46、支持下,.NET框架的各種優(yōu)點在C#中表現(xiàn)得淋漓盡致。簡潔的語法、精心地面向?qū)ο笤O(shè)計、與Web的緊密結(jié)合、完整的安全性與錯誤處理、版本處理技術(shù)、靈活性與兼容性。</p><p> C#是事件的驅(qū)動的,完全面向?qū)ο蟮目梢暬幊陶Z言,我們可以使用集成開發(fā)環(huán)境來編寫C#程序。編程序更重要的一點是要找到解決問題的方法就是算法,才能達到快速、準確解決問題的目的。算法就是為完成一項任務(wù)所應(yīng)當遵循的、一步一步的、規(guī)則的、精確
47、的、無歧義的、總步數(shù)有限的描述。</p><p> 我們不能孤立地使用C#語言,而必須和.NET Framework一起考慮。C#編譯器專門用于.NET,這表示用C#編寫的所有代碼總是在.NET Framework中運行。對于C#語言來說,可以得出兩個重要的結(jié)論:</p><p> (1) C#的結(jié)構(gòu)和方法論反映了.NET基礎(chǔ)方法論。</p><p> (2)
48、 在許多情況下,C#的特定語言功能取決于.NET的功能,或依賴于.NET基類。</p><p> C#是一種相當新的編程語言,C#的重要性體現(xiàn)在以下兩個方面:</p><p> 它是專門為與Microsoft的.NET Framework一起使用而設(shè)計的。.NET Framework是一個功能非常豐富的平臺,可開發(fā)、部署和執(zhí)行分布式應(yīng)用程序。 </p><p>
49、 C#是一種基于現(xiàn)代面向?qū)ο笤O(shè)計方法的語言,在設(shè)計它時,Microsoft還吸取了其他類似語言的經(jīng)驗,這些語言是近20年來面向?qū)ο笠?guī)則得到廣泛應(yīng)用后才開發(fā)出來的。</p><p> C#的特點: 確定性、可行性、有窮性、輸入性、輸出性算法的描述方法很多有自然語言(如英語、漢語)、圖形或符號等描述。C#是Microsoft專門為使用.NET平臺而創(chuàng)建的,事實上C#是.NET開發(fā)中最好的一門語言。C#是一種使用簡
50、單,功能強大,表達力豐富的全新語言。如果拋開一切非技術(shù)方面的因素,C# 無疑是這個星球上有史以來最好的編程語言,它幾乎集中了所有關(guān)于軟件開發(fā)和軟件工程研究的最新成果:面向?qū)ο?、類型安全、組件技術(shù)、自動內(nèi)存管理、跨平臺異常處理等。</p><p><b> 2.3小結(jié)</b></p><p> 本章主要介紹了機器視覺的概念、基本結(jié)構(gòu)、工作原理等內(nèi)容以及asp.net
51、軟件的開發(fā)環(huán)境、特點以及c#語言的一些基本概念和優(yōu)點,從而為接下來的設(shè)計提供理論基礎(chǔ)。</p><p> 第三章 運動目標跟蹤系統(tǒng)的圖像處理單元設(shè)計</p><p> 3.1. 視頻運動目標跟蹤器的總體結(jié)構(gòu)</p><p> 視頻運動目標跟蹤器的總體結(jié)構(gòu)是由圖像采集模塊、圖像緩存模塊、圖像處理模塊、圖像實時顯示模塊4部分組成,其系統(tǒng)功能圖如圖3.1.1所示。視
52、頻采集模塊的功能是對模擬視頻數(shù)據(jù)進行解碼并捕獲圖像;圖像緩存模塊的功能主要將采集到的大量視頻圖像數(shù)據(jù)進行緩存;圖像處理模塊進行圖像預(yù)處理,運動目標跟蹤和圖像后處理;圖像實時顯示模塊實現(xiàn)圖像后處理的實時顯示。</p><p> 圖3.1.1 系統(tǒng)總體結(jié)構(gòu)框圖</p><p> 3.2.圖像處理模塊設(shè)計</p><p> 3.2.1 圖像處理模塊的組成</p
53、><p> 由于CCD攝像頭輸入的圖像信號不可避免引入噪聲,并且圖像本身存在著空間和幅度的量化誤差,所以在設(shè)計中需要對輸入的圖像數(shù)據(jù)進行濾波處理。在設(shè)計中,圖像處理模塊劃分為中值濾波、邊緣檢測、SAD匹配跟蹤3個模塊,其結(jié)構(gòu)框圖如圖3.2.1所示。</p><p> 圖3.2.1 圖像處理模塊框圖</p><p> 3.2.2. 中值濾波</p>&
54、lt;p> 中值濾波 是某一點的值用該點的1個鄰域中各點值的中間值代替,這個鄰域通常被稱為窗口。中值濾波在圖像處理中,首先需選1個含有奇數(shù)點的窗口w,將這個窗口在圖像上掃描,把該窗口中所含的數(shù)據(jù)進行排序,取中間值作為該點的灰度值,這樣可以很好地消除圖像中的噪聲。</p><p> 通常來說,采用中值濾波需要對鄰域窗口內(nèi)的像素數(shù)值進行排序。排序的方法有很多種,不同的排序會導(dǎo)致不同的處理速度,而這其中用的較
55、多的排序法是冒泡法 。假設(shè)該窗口擁有n個像素,如果采用冒泡法需要做n(n一1)/2次兩兩比較操作。文中對傳統(tǒng)的中值濾波算法進行改進,對傳統(tǒng)方法進行了改進,通過分組比較的方法找出其中的最大值、最小值和中間值,避免了逐個比較操作。這種方法相比傳統(tǒng)的方法避免了大量比較操作,從而減少了邏輯資源的使用。文中以3×3濾波窗口為例,按下述進行排序:</p><p> (1)每行按最小數(shù)值、中間數(shù)值和最大數(shù)值排序。&
56、lt;/p><p> (2)將每一步排序所得到的最小數(shù)值組、中間值組和最大數(shù)值組分別按最小值、中間值和最大值排序。</p><p> (3)對上一步所得到的最小數(shù)值組的最大值、中間數(shù)值組的中間值和最大數(shù)值組中的最小值排序,最后得到中間值。</p><p> 依據(jù)上述算法對3×3的濾波窗口進行排序,要想得到最后的中間值必須進行19次兩兩比較,采用傳統(tǒng)的冒泡
57、法得到所需的中間值則至少需要30次比較運算。相對于傳統(tǒng)算法而言,改進后的中值濾波算法可以提高運算速度,有利于提高系統(tǒng)的圖像處理速度。</p><p> 3.2.3圖像邊緣檢測</p><p> 圖像邊緣是圖像最基本的特征之一,其中包含著有價值的目標邊緣信息,這些信息可以用于圖像分析、目標識別以及圖像濾波。圖像邊緣檢測主要是梯度運算,在進行設(shè)計時,通常運用小區(qū)域模板卷積法 來近似計算梯度
58、值,且使用不同的模板求圖像數(shù)據(jù)的梯度值就構(gòu)成了不同的邊緣檢測算子。常用的方法有邊緣Robert算子、Sobel算子、Prewitt算子、Laplacian算子 等,其中Sobel算子具有較好的抑制噪聲和算法實現(xiàn)簡單而得以廣泛應(yīng)用,文中將采用Sobel算子進行邊緣檢測。</p><p> 3.2.4 SAD匹配跟蹤模塊的設(shè)計</p><p> SAD匹配的過程就是首先通過選取模板圖像,然
59、后到圖像區(qū)域中的所有的未知物體進行SAD運算,掃描整幅圖像尋找SAD值最小的點,將SAD最小值的點所在的鄰域作為所尋找的目標物體。</p><p> 首先通過16×16窗生成子模塊生成候選目標模塊與目標模板模塊,然后送到SAD運算子模塊進行SAD運算,最后通過SAD查找子模塊尋求SAD值最小的點(即所要跟蹤的目標)。</p><p> SAD運算子模塊主要負責將上述16
60、15;16窗生成子模塊生成的目標模板與候選目標內(nèi)的對應(yīng)的像素點按公式進行匹配運算。文中運用了流水線設(shè)計的方法,把較復(fù)雜的電路分成四級,并在每一級設(shè)置寄存器組用于存放中間數(shù)據(jù),以減少邏輯運算的延時,提高系統(tǒng)運行速度。</p><p><b> 3.3總結(jié)</b></p><p> 文中設(shè)計了運動目標跟蹤系統(tǒng)所需的圖像處理單元,通過將系統(tǒng)采集到的動態(tài)圖像序列經(jīng)過預(yù)處理
61、后送人圖像處理單元進行中值濾波、邊緣檢測以及匹配跟蹤,有效的實現(xiàn)了對運動目標的信息跟蹤。文中的創(chuàng)新點在于完成了對傳統(tǒng)的中值濾波算法進行改進,同時對Sobel邊緣檢測算法進行改進,有效的減少了運算時間,提高匹配跟蹤的準確度,使系統(tǒng)的圖像處理單元具有更快的處理速度和更高的實時勝。</p><p><b> 總結(jié)</b></p><p> 通過本次對基于機器視覺的運動目
62、標跟蹤系統(tǒng)設(shè)計,成功的達到了目的,能夠使系統(tǒng)實現(xiàn)對運動目標的跟蹤。雖然實驗不是很難,但是本次實驗讓我對C#.NET,OpenCV和圖像處理有了更深刻的認識,提高了動手能力,而且增加了實驗經(jīng)驗,可謂一舉兩得。</p><p><b> 參考文獻</b></p><p> [1] Hieu T.Nguyen, Arnold W.M. Smeulders, Fast O
63、ccluded Object Tracking by a Robust Appearance Filter, 2004 IEEE. </p><p> [2] 岡薩雷斯,《數(shù)字圖像處理》[M], 電子工業(yè)出版社, 2005, 40-112.</p><p> [3]Julia Case Bradley,Anita C.Millspaugh.C#.NET程序設(shè)計.北京:清華大學出版社,2
64、005:10-35</p><p> [4] 王小科,呂雙. C# 從入門到精通 [M] .北京:清華大學出版社,2008.3-32</p><p> [5] Gary R. Bradski, Microcomputer Research Lab, Santa Clara, CA, Intel Corporation, Computer Vision Face Tracking For
65、 Use in a Perceptual User Interface.</p><p> [6]趙哲.基于C#的數(shù)字圖像處理算法的分析研究[J].科技信息,2010.7:92-93</p><p> [7]徐其法,朱戰(zhàn)立.基于Visual C#.NET平臺的數(shù)字圖像處理及其實現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(20):121-122. </p><p>
66、 [8] 張春田,蘇育挺,《數(shù)字圖像壓縮編碼》[M], 清華大學出版社, 2006, 20-23</p><p> [9]梁斌玉.叩響C#之門[M].北京:電子工業(yè)出版社,2009.2-11</p><p> [10] Jeffery Richter, 《Windows核心編程》[M], 2000, 121-287</p><p> [11]何斌,馬天宇.數(shù)字
67、圖像處理[M].北京:人民郵電出版社,2001.262-304</p><p> [12]張弘. 數(shù)字圖像處理[M]. 北京:機械工業(yè)出版社,2007.</p><p> [13] opencv-doc-cn-0.9.7,OpenCV說明文檔</p><p> [14] 錢能. C++ 程序設(shè)計教程[M]. 清華大學出版社,1999,4,1-134.&l
68、t;/p><p> [15]PORTER T,DUFF T.Compositing Digital Images [J].Computer Graphics (ACM),1984,18(3):253-259. </p><p> [16]RABBANI M,JONES P.Digital Image Compression Techniques [J].SPIE,1991(1 450):
69、116-128.</p><p> [17]SAID A,PEARLMAN W A.A New Fast and Efficient Image Code Based on Set Partitioning in Hierarchical Processing [J].IEEE Trans. on Circuits and Video Technology,1996,6(3):243-250.</p>
70、;<p><b> 致 謝</b></p><p> 本論文的工作是在我的導(dǎo)師xx學姐的悉心指導(dǎo)下完成的,xx老師嚴謹?shù)闹螌W態(tài)度和科學的工作方法給了我極大的幫助和影響。xx老師對于我的科研工作和論文都提出了許多的寶貴意見,使我獲得很多新知識,使我獲益匪淺,在此表示衷心的感謝。以及感謝xx的指導(dǎo),解決了很多不會的難題,使我順利的完成這項畢業(yè)設(shè)計。在此真心的感謝你們。<
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于機器視覺的運動目標實時跟蹤算法研究.pdf
- 基于FPGA與機器視覺的運動跟蹤系統(tǒng)設(shè)計.pdf
- 基于視覺注意的運動目標跟蹤系統(tǒng).pdf
- 基于機器視覺的運動目標軌跡跟蹤技術(shù)研究.pdf
- 基于視覺的運動目標跟蹤系統(tǒng)研究.pdf
- 基于機器視覺的目標跟蹤算法研究.pdf
- 基于機器視覺的跟蹤目標距離研究.pdf
- 機器視覺畢業(yè)論文
- 基于機器視覺的移動機器人的運動目標跟蹤算法研究.pdf
- 外文翻譯---一個魯棒的基于機器視覺運動目標檢測與跟蹤系統(tǒng)
- 外文翻譯---一個魯棒的基于機器視覺運動目標檢測與跟蹤系統(tǒng)
- 基于視覺的運動目標跟蹤方法研究.pdf
- 基于機器人視覺的運動目標檢測及跟蹤算法研究.pdf
- 【畢業(yè)論文】基于matlab的動態(tài)目標視覺的檢測與跟蹤技術(shù)研究
- 【畢業(yè)論文】基于matlab的動態(tài)目標視覺的檢測與跟蹤技術(shù)研究
- 基于視覺的運動目標檢測與跟蹤.pdf
- 外文翻譯---一個魯棒的基于機器視覺運動目標檢測與跟蹤系統(tǒng)
- 外文翻譯---一個魯棒的基于機器視覺運動目標檢測與跟蹤系統(tǒng).docx
- 基于DSP的運動目標跟蹤系統(tǒng)設(shè)計.pdf
- 基于機器視覺的機器人目標識別跟蹤方法.pdf
評論
0/150
提交評論