課程設(shè)計(jì)(論文)-基于Hough變換的直線檢測(cè)程序_第1頁(yè)
課程設(shè)計(jì)(論文)-基于Hough變換的直線檢測(cè)程序_第2頁(yè)
課程設(shè)計(jì)(論文)-基于Hough變換的直線檢測(cè)程序_第3頁(yè)
課程設(shè)計(jì)(論文)-基于Hough變換的直線檢測(cè)程序_第4頁(yè)
課程設(shè)計(jì)(論文)-基于Hough變換的直線檢測(cè)程序_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGEPAGE課程設(shè)計(jì)報(bào)告題目基于Hough變換的直線檢測(cè)程序?qū)I(yè)電子信息工程班級(jí)電子2013-02班學(xué)號(hào)姓名指導(dǎo)教師電氣工程學(xué)院二〇一六年九月至二〇一六年十二月西南交通大學(xué)本科課程設(shè)計(jì)第PAGEIII頁(yè)課程設(shè)計(jì)任務(wù)書學(xué)生姓名學(xué)生學(xué)號(hào)學(xué)生專業(yè)電子信息工程學(xué)生班級(jí)電子2013-02發(fā)題日期2016年8月29日完成日期2016年12月18日課程名稱數(shù)字圖像處理指導(dǎo)教師設(shè)計(jì)題目基于Hough變換的直線檢測(cè)程序課程設(shè)計(jì)主要目的:學(xué)習(xí)圖像視頻處理的基礎(chǔ)知識(shí),掌握?qǐng)D像視頻處理的基本算法,熟悉VC++和OpenCV編程技術(shù),培養(yǎng)基本的圖像視頻處理的應(yīng)用能力。課程設(shè)計(jì)任務(wù)要求:(包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計(jì)條件、設(shè)計(jì)要求等)學(xué)習(xí)圖像視頻處理的基礎(chǔ)知識(shí)和基本方法,研究Hough變換的基本原理和技術(shù),采用VC++和OpenCV技術(shù)編程實(shí)現(xiàn)直線檢測(cè)程序,實(shí)現(xiàn)對(duì)圖像中的直線進(jìn)行檢測(cè)。課程設(shè)計(jì)主要任務(wù):1、學(xué)習(xí)圖像視頻處理的基礎(chǔ)知識(shí)和基本方法;2、研究Hough變換的基本原理和技術(shù);3、學(xué)習(xí)VC++和OpenCV編程技術(shù);4、實(shí)現(xiàn)對(duì)圖像中的直線進(jìn)行檢測(cè)的程序。課程設(shè)計(jì)進(jìn)度安排:(共16周)序號(hào)內(nèi)容安排時(shí)間時(shí)間1學(xué)習(xí)圖像視頻處理的基礎(chǔ)知識(shí)和基本方法2周2研究Hough變換的基本原理和技術(shù)4周3學(xué)習(xí)VC++和OpenCV編程技術(shù)4周4實(shí)現(xiàn)對(duì)圖像中的直線進(jìn)行檢測(cè)的程序4周5撰寫課程設(shè)計(jì)報(bào)告2周課程設(shè)計(jì)參考文獻(xiàn):[1]劉瑞禎,于仕琪.OpenCV教程——基礎(chǔ)篇.北京航空航天大學(xué)版社,2007.[2]OpenCV中文網(wǎng)站(/)指導(dǎo)教師簽字系主任審核簽字摘要直線檢測(cè)是圖像處理中一個(gè)特別重要的研究課題,作為圖像分割處理的基礎(chǔ)。在圖像處理領(lǐng)域,直線特征經(jīng)常是被用于高層處理,所以直線檢測(cè)對(duì)于數(shù)字圖像處理有著重要的意義。同時(shí)在圖像處理中,對(duì)直線的識(shí)別和定位也是很重要的。例如在工程項(xiàng)目上經(jīng)常要進(jìn)行直線檢測(cè),對(duì)直線物體或圖標(biāo)進(jìn)行模式識(shí)別和定位。圖像處理是人類視覺(jué)延伸的重要手段之一,可以達(dá)到使人們看到任意波長(zhǎng)所測(cè)得的圖像的目的。圖像處理是使用計(jì)算機(jī)對(duì)圖像進(jìn)行分析,以達(dá)到所需結(jié)果的技術(shù),因而又稱影像處理。圖像處理一般指數(shù)字圖像處理。數(shù)字圖像是指用數(shù)字?jǐn)z像機(jī)、掃描儀等設(shè)備經(jīng)過(guò)采樣和數(shù)字化得到的一個(gè)大的二維數(shù)組,該數(shù)組的元素稱為像素,其值為一整數(shù),稱為灰度值.圖像處理技術(shù)的主要內(nèi)容包括圖像壓縮,增強(qiáng)和復(fù)原,匹配、描述和識(shí)別3個(gè)部分。數(shù)字圖像處理技術(shù)發(fā)展很快,給定形狀圖像的檢測(cè)問(wèn)題也是各種工程事項(xiàng)中經(jīng)常碰到的一類問(wèn)題,類直線形狀圖形的檢測(cè)是其中主要的一類。本文給出Hough變換的基本原理。針對(duì)圖像空間的直線檢測(cè)問(wèn)題,提出基于Hough變換的檢測(cè)算法。關(guān)鍵詞:Hough變換;邊緣檢測(cè);直線檢測(cè)

目錄TOC\o"1-4"\h\z第一章緒論 11.1數(shù)字圖像處理與直線檢測(cè) 11.1.1圖像工程 11.1.2數(shù)字圖像處理 21.2圖像檢測(cè)技術(shù)發(fā)展歷史及現(xiàn)狀 51.3直線檢測(cè)課題存在的問(wèn)題 6第二章編程工具和環(huán)境搭建 72.1OpenCV 72.2MicrosoftVisualStudio 82.3環(huán)境搭建 92.3.1安裝OpenCV 92.4OpenCV常用數(shù)據(jù)結(jié)構(gòu)用法介紹 11第三章直線檢測(cè)算法的實(shí)現(xiàn) 133.1Hough變換 133.2Hough變換原理 133.3基于Hough變換的直線檢測(cè)的實(shí)現(xiàn) 143.3.1直線檢測(cè)的流程 153.3.2直線檢測(cè)算法分析 153.3.3函數(shù)分析 163.3.4顯示程序運(yùn)行的結(jié)果 17第四章結(jié)論 18參考文獻(xiàn) 19附錄 20西南交通大學(xué)本科課程設(shè)計(jì)第23頁(yè)第一章緒論1.1數(shù)字圖像處理與直線檢測(cè)1.1.1圖像工程圖像工程是將圖像技術(shù)發(fā)展過(guò)程中出現(xiàn)的各種新理論、新方法、新技術(shù)、新設(shè)備等進(jìn)行綜合研究和集成應(yīng)用的一個(gè)整體框架,科分為3個(gè)層次:(1)圖像處理(ImageProcessing)強(qiáng)調(diào)在圖像之間進(jìn)行一定程度地變換,功能上主要是滿足對(duì)圖像進(jìn)行加工處理以達(dá)到改善圖像的視覺(jué)效果并為自動(dòng)識(shí)別做好鋪墊,或?qū)D像進(jìn)行壓縮編碼以減少所需存儲(chǔ)空間和時(shí)間、傳輸通路的要求。(2)圖像分析(ImageAnalysis)圖像分析是指對(duì)圖像中感興趣的目標(biāo)進(jìn)行檢測(cè)和測(cè)量,以獲得目標(biāo)的客觀信息從而建立對(duì)圖像的描述。圖像分析是一個(gè)從圖像到數(shù)據(jù)的過(guò)程。這里的數(shù)據(jù)可以是對(duì)目標(biāo)特征測(cè)量的結(jié)果,或是基于測(cè)量的符號(hào)表示,其主要是以觀察者為中心研究客觀世界。圖像分析是圖像工程中層的操作,分割和特征值提取把原來(lái)以像素描述的圖像轉(zhuǎn)變?yōu)楸容^簡(jiǎn)單的非圖形式的描述。(3)圖像理解(ImageUnderstanding)圖像理解進(jìn)一步研究圖像中各目標(biāo)的性質(zhì)和它們之間的相互聯(lián)系,并得出對(duì)圖像內(nèi)容含義的理解以及對(duì)原來(lái)客觀場(chǎng)景的解釋,從而指導(dǎo)和規(guī)劃行動(dòng)。圖像理解在一定程度上是以客觀世界為中心,借助知識(shí)、經(jīng)驗(yàn)等來(lái)把握整個(gè)客觀世界(包括沒(méi)有直接觀察到的事物)。圖像理解是處于圖像工程最高層的操作,基本上是對(duì)從描述抽象出來(lái)的符號(hào)進(jìn)行運(yùn)算,其處理過(guò)程和方法與人類的思維推理可以有許多類似之處。本次課程設(shè)計(jì)直線段的檢測(cè)屬于圖像分析階段,對(duì)其研究的意義在于:直線段是圖像的基本組成元素,任何圖形微觀上都是由直線段組成:直線段的檢測(cè)為圖像分析階段中更高層的處理諸如目標(biāo)的表達(dá)提取和識(shí)別提供數(shù)據(jù)支持,它的影響可以達(dá)到圖像理解階段。在實(shí)際應(yīng)用中,道路識(shí)別、建筑物識(shí)別、醫(yī)學(xué)圖像分析、航空和衛(wèi)星圖像分析等領(lǐng)域都需要借重于直線檢測(cè)技術(shù)。1.1.2數(shù)字圖像處理數(shù)字圖像處理(DigitalImageProcessing)又稱為計(jì)算機(jī)圖像處理,簡(jiǎn)單的說(shuō)就是將圖像信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)并利用計(jì)算機(jī)進(jìn)行處理的過(guò)程。數(shù)字圖像處理常用方法有以下幾個(gè)方面:(1)圖像變換:由于圖像陣列很大,直接在空間域中進(jìn)行處理,涉及計(jì)算量很大。因此,往往采用各種圖像變換的方法,如傅立葉變換、沃爾什變換、離散余弦變換等間接處理技術(shù),將空間域的處理轉(zhuǎn)換為變換域處理,不僅可減少計(jì)算量,而且可獲得更有效的處理(如傅立葉變換可在頻域中進(jìn)行數(shù)字濾波處理)。新興研究的小波變換在時(shí)域和頻域中都具有良好的局部化特性,它在圖像處理中也有著廣泛而有效的應(yīng)用。(2)圖像編碼壓縮:圖像編碼壓縮技術(shù)可減少描述圖像的數(shù)據(jù)量(即比特?cái)?shù)),以便節(jié)省圖像傳輸、處理時(shí)間和減少所占用的存儲(chǔ)器容量。壓縮可以在不失真的前提下獲得,也可以在允許的失真條件下進(jìn)行。編碼是壓縮技術(shù)中最重要的方法,它在圖像處理技術(shù)中是發(fā)展最早且比較成熟的技術(shù)。(3)圖像增強(qiáng)和復(fù)原:圖像增強(qiáng)和復(fù)原的目的是為了提高圖像的質(zhì)量,如去除噪聲,提高圖像的清晰度等。圖像增強(qiáng)不考慮圖像降質(zhì)的原因,突出圖像中所感興趣的部分。如強(qiáng)化圖像高頻分量,可使圖像中物體輪廓清晰,細(xì)節(jié)明顯;如強(qiáng)化低頻分量可減少圖像中噪聲影響。圖像復(fù)原要求對(duì)圖像降質(zhì)的原因有一定的了解,一般講應(yīng)根據(jù)降質(zhì)過(guò)程建立“降質(zhì)模型”,再采用某種濾波方法,恢復(fù)或重建原來(lái)的圖像。(4)圖像分割:圖像分割是數(shù)字圖像處理中的關(guān)鍵技術(shù)之一。圖像分割是將圖像中有意義的特征部分提取出來(lái),其有意義的特征有圖像中的邊緣、區(qū)域等,這是進(jìn)一步進(jìn)行圖像識(shí)別、分析和理解的基礎(chǔ)。雖然已研究出不少邊緣提取、區(qū)域分割的方法,但還沒(méi)有一種普遍適用于各種圖像的有效方法。因此,對(duì)圖像分割的研究還在不斷深入之中,是圖像處理中研究的熱點(diǎn)之一。(5)圖像描述:圖像描述是圖像識(shí)別和理解的必要前提。作為最簡(jiǎn)單的二值圖像可采用其幾何特性描述物體的特性,一般圖像的描述方法采用二維形狀描述,它有邊界描述和區(qū)域描述兩類方法。對(duì)于特殊的紋理圖像可采用二維紋理特征描述。隨著圖像處理研究的深入發(fā)展,已經(jīng)開始進(jìn)行三維物體描述的研究,提出了體積描述、表面描述、廣義圓柱體描述等方法。(7)圖像分類(識(shí)別):圖像分類(識(shí)別)屬于模式識(shí)別的范疇,其主要內(nèi)容是圖像經(jīng)過(guò)某些預(yù)處理(增強(qiáng)、復(fù)原、壓縮)后,進(jìn)行圖像分割和特征提取,從而進(jìn)行判決分類。圖像分類常采用經(jīng)典的模式識(shí)別方法,有統(tǒng)計(jì)模式分類和句法(結(jié)構(gòu))模式分類,近年來(lái)新發(fā)展起來(lái)的模糊模式識(shí)別和人工神經(jīng)網(wǎng)絡(luò)模式分類在圖像識(shí)別中也越來(lái)越受到重視。應(yīng)用工具數(shù)字圖像處理的工具可分為三大類:第一類包括各種正交變換和圖像濾波等方法,其共同點(diǎn)是將圖像變換到其它域(如頻域)中進(jìn)行處理(如濾波)后,再變換到原來(lái)的空間(域)中。第二類方法是直接在空間域中處理圖像,它包括各種統(tǒng)計(jì)方法、微分方法及其它數(shù)學(xué)方法。第三類是數(shù)學(xué)形態(tài)學(xué)運(yùn)算,它不同于常用的頻域和空域的方法,是建立在積分幾何和隨機(jī)集合論的基礎(chǔ)上的運(yùn)算。由于被處理圖像的數(shù)據(jù)量非常大且許多運(yùn)算在本質(zhì)上是并行的,所以圖像并行處理結(jié)構(gòu)和圖像并行處理算法也是圖像處理中的主要研究方向。數(shù)字圖像處理的應(yīng)用:(1)數(shù)字圖像處理的典型應(yīng)用:【圖像壓縮和傳輸(或者叫著圖像通信也可以)】(如:靜態(tài)圖像JPEG壓縮標(biāo)準(zhǔn);動(dòng)態(tài)MPEG標(biāo)準(zhǔn),電信上類似的標(biāo)準(zhǔn)是H.264,娛樂(lè)上的MP4也屬于這方面),主要研究?jī)?nèi)容是研發(fā)更有效的圖像的編解碼算法(現(xiàn)在已經(jīng)有很多硬件實(shí)現(xiàn)的編解碼芯片了,具體性能指標(biāo)和適用的標(biāo)準(zhǔn)不同);(2)生物識(shí)別為數(shù)字圖像處理在【信息安全】領(lǐng)域的應(yīng)用(包含指紋識(shí)別、虹膜識(shí)別、人臉識(shí)別等),當(dāng)然交通系統(tǒng)使用的車牌識(shí)別也是類似的技術(shù)。通用模式是:圖像預(yù)處理(如去噪、增強(qiáng)等)+不變特征提取+與特征庫(kù)中特征進(jìn)行匹配=>識(shí)別;生物醫(yī)學(xué)工程方面的應(yīng)用數(shù)字圖像處理在生物醫(yī)學(xué)工程方面的應(yīng)用十分廣泛,而且很有成效。除了CT技術(shù)之外,還有一類是對(duì)醫(yī)用顯微圖像的處理分析,如紅細(xì)胞、白細(xì)胞分類,染色體分析,癌細(xì)胞識(shí)別等。此外,在X光肺部圖像增晰、超聲波圖像處理、心電圖分析、立體定向放射治療等醫(yī)學(xué)診斷方面都廣泛地應(yīng)用圖像處理技術(shù)?!踞t(yī)療影像處理】:CT成像,核磁共振MRI,超聲,X線成像。主要研究?jī)?nèi)容:圖像去噪,圖像增強(qiáng),圖像識(shí)別,3維可視化等等(3)而真正集中了最先進(jìn)軟硬件數(shù)字圖像處理的應(yīng)用領(lǐng)域是:軍事:首先圖像數(shù)據(jù)類型上包含所有的成像頻段能獲取的影像(如無(wú)線電(雷達(dá)成像)、紅外、可見光、紫外、X線。。。你把電磁光譜拉開看就明白),用聲音回波來(lái)成像也可以,如聲納。千萬(wàn)不要片面地理解圖像就是可見光成像,那是人眼的局限。軍事公安方面的應(yīng)用在軍事方面圖像處理和識(shí)別主要用于導(dǎo)彈的精確末制導(dǎo),各種偵察照片的判讀,具有圖像傳輸、存儲(chǔ)和顯示的軍事自動(dòng)化指揮系統(tǒng),飛機(jī)、坦克和軍艦?zāi)M訓(xùn)練系統(tǒng)等;公安業(yè)務(wù)圖片的判讀分析,指紋識(shí)別,人臉鑒別,不完整圖片的復(fù)原,以及交通監(jiān)控、事故分析等。目前已投入運(yùn)行的高速公路不停車自動(dòng)收費(fèi)系統(tǒng)中的車輛和車牌的自動(dòng)識(shí)別都是圖像處理技術(shù)成功應(yīng)用的例子。主要包含這些研究?jī)?nèi)容:目標(biāo)捕獲目標(biāo)鎖定目標(biāo)跟蹤(4)飛機(jī)遙感和衛(wèi)星遙感技術(shù)中。許多國(guó)家每天派出很多偵察飛機(jī)對(duì)地球上有興趣的地區(qū)進(jìn)行大量的空中攝影。對(duì)由此得來(lái)的照片進(jìn)行處理分析,以前需要雇用幾千人,而現(xiàn)在改用配備有高級(jí)計(jì)算機(jī)的圖像處理系統(tǒng)來(lái)判讀分析,既節(jié)省人力,又加快了速度,還可以從照片中提取人工所不能發(fā)現(xiàn)的大量有用情報(bào)。從60年代末以來(lái),美國(guó)及一些國(guó)際組織發(fā)射了資源遙感衛(wèi)星(如LANDSAT系列)和天空實(shí)驗(yàn)室(如SKYLAB),由于成像條件受飛行器位置、姿態(tài)、環(huán)境條件等影響,圖像質(zhì)量總不是很高。因此,以如此昂貴的代價(jià)進(jìn)行簡(jiǎn)單直觀的判讀來(lái)獲取圖像是不合算的,而必須采用數(shù)字圖像處理技術(shù)。如LANDSAT系列陸地衛(wèi)星,采用多波段掃描器(MSS),在900km高空對(duì)地球每一個(gè)地區(qū)以18天為一周期進(jìn)行掃描成像,其圖像分辨率大致相當(dāng)于地面上十幾米或100米左右(如1983年發(fā)射的LANDSAT-4,分辨率為30m)。這些圖像在空中先處理(數(shù)字化,編碼)成數(shù)字信號(hào)存入磁帶中,在衛(wèi)星經(jīng)過(guò)地面站上空時(shí),再高速傳送下來(lái),然后由處理中心分析判讀。這些圖像無(wú)論是在成像、存儲(chǔ)、傳輸過(guò)程中,還是在判讀分析中,都必須采用很多數(shù)字圖像處理方法。現(xiàn)在世界各國(guó)都在利用陸地衛(wèi)星所獲取的圖像進(jìn)行資源調(diào)查(如森林調(diào)查、海洋泥沙和漁業(yè)調(diào)查、水資源調(diào)查等),災(zāi)害檢測(cè)(如病蟲害檢測(cè)、水火檢測(cè)、環(huán)境污染檢測(cè)等),資源勘察(如石油勘查、礦產(chǎn)量探測(cè)、大型工程地理位置勘探分析等),農(nóng)業(yè)規(guī)劃(如土壤營(yíng)養(yǎng)、水份和農(nóng)作物生長(zhǎng)、產(chǎn)量的估算等),城市規(guī)劃(如地質(zhì)結(jié)構(gòu)、水源及環(huán)境分析等)。我國(guó)也陸續(xù)開展了以上諸方面的一些實(shí)際應(yīng)用,并獲得了良好的效果。在氣象預(yù)報(bào)和對(duì)太空其它星球研究方面,數(shù)字圖像處理技術(shù)也發(fā)揮了相當(dāng)大的作用。(5)通信工程方面的應(yīng)用當(dāng)前通信的主要發(fā)展方向是聲音、文字、圖像和數(shù)據(jù)結(jié)合的多媒體通信。具體地講是將電話、電視和計(jì)算機(jī)以三網(wǎng)合一的方式在數(shù)字通信網(wǎng)上傳輸。其中以圖像通信最為復(fù)雜和困難,因圖像的數(shù)據(jù)量十分巨大,如傳送彩色電視信號(hào)的速率達(dá)100Mbit/s以上。要將這樣高速率的數(shù)據(jù)實(shí)時(shí)傳送出去,必須采用編碼技術(shù)來(lái)壓縮信息的比特量。在一定意義上講,編碼壓縮是這些技術(shù)成敗的關(guān)鍵。除了已應(yīng)用較廣泛的熵編碼、DPCM編碼、變換編碼外,目前國(guó)內(nèi)外正在大力開發(fā)研究新的編碼方法,如分行編碼、自適應(yīng)網(wǎng)絡(luò)編碼、小波變換圖像壓縮編碼等。(6)工業(yè)和工程方面的應(yīng)用在工業(yè)和工程領(lǐng)域中圖像處理技術(shù)有著廣泛的應(yīng)用,如自動(dòng)裝配線中檢測(cè)零件的質(zhì)量、并對(duì)零件進(jìn)行分類,印刷電路板疵病檢查,彈性力學(xué)照片的應(yīng)力分析,流體力學(xué)圖片的阻力和升力分析,郵政信件的自動(dòng)分揀,在一些有毒、放射性環(huán)境內(nèi)識(shí)別工件及物體的形狀和排列狀態(tài),先進(jìn)的設(shè)計(jì)和制造技術(shù)中采用工業(yè)視覺(jué)等等。其中值得一提的是研制具備視覺(jué)、聽覺(jué)和觸覺(jué)功能的智能機(jī)器人,將會(huì)給工農(nóng)業(yè)生產(chǎn)帶來(lái)新的激勵(lì),目前已在工業(yè)生產(chǎn)中的噴漆、焊接、裝配中得到有效的利用。(7)文化藝術(shù)方面的應(yīng)用目前這類應(yīng)用有電視畫面的數(shù)字編輯,動(dòng)畫的制作,電子圖像游戲,紡織工藝品設(shè)計(jì),服裝設(shè)計(jì)與制作,發(fā)型設(shè)計(jì),文物資料照片的復(fù)制和修復(fù),運(yùn)動(dòng)員動(dòng)作分析和評(píng)分等等,現(xiàn)在已逐漸形成一門新的藝術(shù)--計(jì)算機(jī)美術(shù)。1.2圖像檢測(cè)技術(shù)發(fā)展歷史及現(xiàn)狀圖像檢測(cè)作為圖像分析技術(shù)的一個(gè)研究?jī)?nèi)容,它也是伴隨著數(shù)字圖像處理的發(fā)展而發(fā)展的。數(shù)字圖像處理這門學(xué)科的形成也是和社會(huì)生產(chǎn)力發(fā)展的需要分不開。早期的圖像處理是由于通訊方面的要求而發(fā)展起來(lái)的,這就是本世紀(jì)20年代傳真技術(shù)的發(fā)明和發(fā)展。其后,則是由于宇宙方面的要求,需要處理大量的宇宙探測(cè)器上拍攝下來(lái)的不清楚的其他天體以及地球本身的照片。然而,圖像處理技術(shù)的發(fā)展,遠(yuǎn)遠(yuǎn)突破了這兩個(gè)領(lǐng)域,到今天,它已經(jīng)廣泛的應(yīng)用到科學(xué)研究、工農(nóng)業(yè)生產(chǎn)、軍事技術(shù)、政府部門、醫(yī)療衛(wèi)生等許多領(lǐng)域,進(jìn)一步推動(dòng)著社會(huì)生產(chǎn)力的發(fā)展。圖像檢測(cè)是圖像分析研究?jī)?nèi)容的一部分。目前,在圖像分析領(lǐng)域已經(jīng)有很大的發(fā)展。圖像分析是一種從一幅圖像中通過(guò)自動(dòng)的或半自動(dòng)的方法提取圖像尺寸、數(shù)據(jù)或信息的方法。圖像分析方法通常因圖像分析系統(tǒng)最后的輸出是數(shù)字而不是畫面,使它與其他類型的圖像處理方法,如編碼、恢復(fù)、放大等不同。圖像分析源于經(jīng)典的模式識(shí)別方法,根據(jù)定義,分析系統(tǒng)并不局限于對(duì)一個(gè)固定數(shù)量類別的場(chǎng)景區(qū)域的分類,而是更傾向于可設(shè)計(jì)成用于描述復(fù)雜場(chǎng)景。根據(jù)實(shí)現(xiàn)預(yù)測(cè),該場(chǎng)景的種類可能是非常多的和不確定的。目前,圖像分析領(lǐng)域主要包括形態(tài)學(xué)圖像處理、邊緣檢測(cè)、圖像特征提取、圖像分割、形狀分析、圖像檢測(cè)和配準(zhǔn)等幾個(gè)方面的內(nèi)容。1.3直線檢測(cè)課題存在的問(wèn)題Hough變換的原理是把在圖像中對(duì)空間來(lái)說(shuō)的直線檢測(cè)問(wèn)題通過(guò)轉(zhuǎn)換變成參數(shù)中對(duì)點(diǎn)的檢測(cè)問(wèn)題從而簡(jiǎn)單化整個(gè)檢測(cè)流程。傳統(tǒng)的Hough變換法首先是運(yùn)算量大,由于對(duì)所有源像素點(diǎn)都要進(jìn)行無(wú)差別的Houh轉(zhuǎn)換運(yùn)算,對(duì)像素較大的圖像進(jìn)行轉(zhuǎn)換時(shí)相應(yīng)的計(jì)算時(shí)間也太長(zhǎng)。傳統(tǒng)的Hough變換法最主要的缺陷在于它會(huì)將中斷的直線無(wú)差別地連接起來(lái),在某些場(chǎng)合有助于修補(bǔ)圖像,但是對(duì)源數(shù)據(jù)處理階段會(huì)產(chǎn)生錯(cuò)誤的數(shù)據(jù),導(dǎo)致了與源圖像的偏差。第二章編程工具和環(huán)境搭建2.1OpenCVOpenCV的英文全稱為:OpenSourceComputerVisionLibrary.OpenCV是由Intel建立于1999年,現(xiàn)在是由WillowGarage提供相應(yīng)的支持。它是一個(gè)基于BSD所授權(quán)許可的一個(gè)計(jì)算機(jī)視覺(jué)庫(kù),還提供Python、Ruby、MATLAB等語(yǔ)言接口,從而實(shí)現(xiàn)圖像處理以及計(jì)算機(jī)視覺(jué)方面的通用算法。:OpenCV用C++語(yǔ)言編寫,它的主要接口也是C++語(yǔ)言,但是依然保留了大量的C語(yǔ)言接口。該庫(kù)也有大量的Python,JavaandMATLAB/OCTAVE(版本2.5)的接口。這些語(yǔ)言的API接口函數(shù)可以通過(guò)在線文檔獲得。如今也提供對(duì)于C#,Ch,Ruby的支持。所有新的開發(fā)和算法都是用C++接口。一個(gè)使用CUDA的GPU接口也于2010年9月開始實(shí)現(xiàn)。其主要特點(diǎn)是開放C源碼、基于Intel處理器指令集開發(fā)的優(yōu)化代碼、統(tǒng)一的結(jié)構(gòu)和功能定義、強(qiáng)大的圖像和矩陣運(yùn)算能力、方便靈活的用戶接口、支持MS-Windows和Linux平臺(tái)。作為一個(gè)基本的計(jì)算機(jī)視覺(jué)圖像處理和模式識(shí)別的開源項(xiàng)目,OpenCV可以直接應(yīng)用于很多領(lǐng)域,可以作為二次開發(fā)的理想工具。圖3.1OpenCV的基本結(jié)構(gòu)OpenCV主體分為五個(gè)模塊,其中四個(gè)模塊如圖3-1所示。OpenCV的CV模塊包含基本的圖像處理函數(shù)和高級(jí)的計(jì)算機(jī)視覺(jué)算法。ML是機(jī)器學(xué)習(xí)庫(kù),包含一些基本統(tǒng)計(jì)的分類和聚類工具。HighGUI包含圖像和視頻輸入/輸出的函數(shù)。CXCore包含OpenCV的一些基本數(shù)據(jù)結(jié)構(gòu)和相關(guān)函數(shù)。圖3-1中沒(méi)有包含CVAux模塊,該模塊中一般存放一些即將被淘汰的算法和函數(shù)(如基于嵌入式隱馬爾可夫模型的人臉識(shí)別算法),同時(shí)還有一些新出現(xiàn)的實(shí)驗(yàn)性的算法和函數(shù)。.OpenCv是一個(gè)包含了超過(guò)300個(gè)C函數(shù)的應(yīng)用編程接口,它不依賴于外部庫(kù),既可以獨(dú)立運(yùn)行,也可在運(yùn)行時(shí)使用其它外部庫(kù)。OpenCv中所有的算法都是基于封裝于IPL的具有很高靈活性的動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu),而且其中有一半以上的函數(shù)在設(shè)計(jì)及匯編時(shí)被1nto1公司針對(duì)其所生產(chǎn)的處理器優(yōu)化。.提供了一些與諸如EiC、Ch、MATLAB等其它語(yǔ)言或環(huán)境的接口,這些接口在其安裝完之后位于安裝目錄opencv/interfaces下。不管對(duì)于商業(yè)的還是非商業(yè)的用途,OpenCv都是完全免費(fèi)的,其源代碼完全開放,開發(fā)者可以對(duì)源代碼進(jìn)行修改,將自己設(shè)計(jì)的新類添加到庫(kù)中,只要設(shè)計(jì)符合規(guī)范,自己的代碼也可以被別人廣泛使用。OpenCV的主要特征有以下幾個(gè)方面:圖像數(shù)據(jù)的操作(分配、釋放、復(fù)制、設(shè)置和轉(zhuǎn)換)圖像是視頻的輸入輸出I/O(文件與攝像頭的輸入、圖像和視頻文件輸出)。矩陣和向量的操作以及線性代數(shù)的算法程序(矩陣積、解方程、特征值以及奇異值等)。各種動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)(列表、隊(duì)列、集合、樹、圖等)?;镜臄?shù)字圖像處理(濾波、邊緣檢測(cè)、角點(diǎn)檢測(cè)、采樣與差值、色彩轉(zhuǎn)換、形態(tài)操作、直方圖、圖像金字塔等)。結(jié)構(gòu)分析(連接部件、輪廓處理、距離變換、各自距計(jì)算、模塊匹配、Hough變換、多邊形逼近、直線擬合、橢圓擬合、Delaunay三角劃分等)。攝像頭定標(biāo)(發(fā)現(xiàn)與跟蹤定標(biāo)模式、定標(biāo)、基本矩陣估計(jì)、齊次矩陣估計(jì)、立體對(duì)應(yīng))。運(yùn)動(dòng)分析(光流、運(yùn)動(dòng)分割、跟蹤)。目標(biāo)識(shí)別(特征法、隱馬爾可夫模型:HMM).基本的GUI(圖像與視頻顯示、鍵盤和鼠標(biāo)事件處理、滾動(dòng)條)。圖像標(biāo)注(線、二次曲線、多邊形、畫文字)2.2MicrosoftVisualStudioVisualStudio是微軟公司推出的開發(fā)環(huán)境,VisualStudio可以用來(lái)創(chuàng)建Windows平臺(tái)下的應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來(lái)創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和Office插件。作為一種開發(fā)環(huán)境它的出現(xiàn)大大降低了研究人員在設(shè)計(jì)代碼開發(fā)程序中遇到的困難,他們可以把主要精力放在實(shí)現(xiàn)軟件的算法和思想上,而不是怎么用一種平臺(tái)。自從誕生以來(lái),Microsoft將大量的人力物力投入到改進(jìn)其性能和擴(kuò)展其功能的研究上。VisualStudio97是最早的VisualStudio版本。1998年,Microsoft發(fā)布了VisualStudio6.0.所有的開發(fā)語(yǔ)言的開發(fā)環(huán)境版本均升到6.0.2005年,VisualStudio2005正式發(fā)布。.NET字眼從各種語(yǔ)言的名字中被抹去,但是這個(gè)版本的VisualStudio仍然還是面向.NET框架打的。這個(gè)版本的VisualStudio包含眾多的版本,分別面向不同的開發(fā)角色。2007年,Microsoft發(fā)布了VisualStudio2008.在這個(gè)版本里面,最大的改動(dòng)就是不在支持JAVA。所以,JAVA還有J#都從這個(gè)版本中消失了。該軟件將在本次課程設(shè)計(jì)中使用最新的版本VisualStudio2010,該版本支持最新的C++標(biāo)準(zhǔn),并且增強(qiáng)了IDE,提高了編程的效率。同時(shí)它還對(duì)于Windows7具有極強(qiáng)的兼容性,可適應(yīng)當(dāng)前操作系統(tǒng)的發(fā)展趨勢(shì)。正是因?yàn)檫@些特點(diǎn),該軟件的設(shè)計(jì)過(guò)程是將它作為一個(gè)圖片處理平臺(tái)。2.3環(huán)境搭建2.3.1安裝OpenCV在官網(wǎng)上下載VS2010對(duì)應(yīng)的OpenCV版本,隨后進(jìn)行下列操作進(jìn)行安裝程序:(1)雙擊下載完成的OpenCV壓縮包進(jìn)行解壓操作圖3-1OpenCV解壓縮(2)在解壓縮操作完成之后,開始環(huán)境變量的配置操作,進(jìn)入“我的電腦”-“屬性”-“高級(jí)系統(tǒng)設(shè)置”-“高級(jí)”-“環(huán)境變量”,雙擊里面的“PATH”變量,將路徑改成我們解壓縮的OpenCV對(duì)應(yīng)的路徑。圖3-2PATH環(huán)境變量的配置(3)安裝MicrosoftVisual2008。(4)打開VS2008,進(jìn)入“工具”-“選項(xiàng)”-“VC++目錄”,在顯示以下內(nèi)容的下拉框中點(diǎn)擊“包含文件”,點(diǎn)擊“新行”圖表。創(chuàng)建三條路徑,如下圖所示:圖3-3包含文件的路徑設(shè)置(5)在顯示以下內(nèi)容的下拉框中選擇“庫(kù)文件”,點(diǎn)擊“新行”圖標(biāo),創(chuàng)建一條路徑如下圖所示:圖3-4庫(kù)文件路徑的設(shè)置(6)新建一個(gè)OpenCV工程,進(jìn)行局部配置——配置成功。2-4OpenCV常用數(shù)據(jù)結(jié)構(gòu)用法介紹(1)CVCreateImage函數(shù)函數(shù)CVCreateImage的作用是創(chuàng)建首地址并分配存儲(chǔ)空間。函數(shù)的定義為:IplImage*cvCreateImage(CvSizesize,intdepth,intchannels);其中size指代的是圖像的寬和高,即我們通常所說(shuō)的圖片的像素;depth是圖像元素的位深度,即圖像中一個(gè)像素所占的內(nèi)存空間的大小,depth取值范圍有:IPL_DEPTH_8U(無(wú)符號(hào)8位整型)、IPL_DEPTH_8S(有符號(hào)8位整型)、IPL_DEPTH_16U(無(wú)符號(hào)16位整型)、IPL_DEPTH_16S(有符號(hào)16位整型)、IPL_DEPTH_32S(有符號(hào)32位整型)、IPL_DEPTH_32F(單精度浮點(diǎn)數(shù))和IPL_DEPTH_64F(雙精度浮點(diǎn)數(shù));channels代表的是每個(gè)元素的通道數(shù)。(2)IplImage由于OpenCV主要針對(duì)的是計(jì)算機(jī)視覺(jué)方面的處理,因此在函數(shù)庫(kù)中,最重要的結(jié)構(gòu)體是IplImage結(jié)構(gòu)。IplImage結(jié)構(gòu)來(lái)源于Intel的另外一個(gè)函數(shù)庫(kù)IntelImageProcessingLibrary(IPL),該函數(shù)庫(kù)主要是針對(duì)圖像處理。在該函數(shù)結(jié)構(gòu)定義中會(huì)使用到CVCreatImage.(3)CvMemStorage為opencv庫(kù)中的函數(shù),需要的頭文件是highgui.h。用來(lái)創(chuàng)建一個(gè)內(nèi)存存儲(chǔ)器,來(lái)統(tǒng)一管理各種動(dòng)態(tài)對(duì)象的內(nèi)存。函數(shù)返回一個(gè)新創(chuàng)建的內(nèi)存存儲(chǔ)器指針。參數(shù)block_size對(duì)應(yīng)內(nèi)存器中每個(gè)內(nèi)存塊的大小,為0時(shí)內(nèi)存塊默認(rèn)大小為64k。(4)cvHoughLines2此函數(shù)是opencv圖像變換函數(shù)中的一個(gè),主要用來(lái)訪問(wèn)霍夫變換的兩個(gè)算法———標(biāo)準(zhǔn)霍夫變換(SHT)和累計(jì)概率霍夫變換(PPHT)。(5)cvShowImage該函數(shù)為開放計(jì)算機(jī)視覺(jué)(OpenCV)庫(kù)庫(kù)函數(shù),用來(lái)在在指定窗口中顯示圖像.函數(shù)cvShowImage在指定窗口中顯示圖像。如果窗口創(chuàng)建的時(shí)候被設(shè)定標(biāo)志CV_WINDOW_AUTOSIZE,那么圖像將以原始尺寸顯示;否則,圖像將被伸縮以適合窗口大小.(6)cvCannycvCanny,開放計(jì)算機(jī)視覺(jué)(OpenCV)庫(kù)庫(kù)函數(shù)之一,用于對(duì)圖像的邊緣檢測(cè)(采用canny算法)。函數(shù)cvCanny采用Canny算法發(fā)現(xiàn)輸入圖像的邊緣而且在輸出圖像中標(biāo)識(shí)這些邊緣。threshold1和threshold2當(dāng)中的小閾值用來(lái)控制邊緣連接,大的閾值用來(lái)控制強(qiáng)邊緣的初始分割。(7)cvCvtColor色彩空間轉(zhuǎn)換voidcvCvtColor(constCvArr*src,CvArr*dst,intcode);src:輸入的8-bit,16-bit或32-bit單倍精度浮點(diǎn)數(shù)影像。dst:輸出的8-bit,16-bit或32-bit單倍精度浮點(diǎn)數(shù)影像。第三章直線檢測(cè)算法的實(shí)現(xiàn)3.1Hough變換Hough變換(霍夫變換)是圖像變換中的一個(gè)經(jīng)典手段。主要用來(lái)從圖像中分離出來(lái)具有某種相同特征的幾何形狀(比如,直線,圓,矩陣)。在檢測(cè)直線的方面來(lái)說(shuō)Hough變換比檢測(cè)圓要更好的減少噪聲干擾。基本的原理是利用圖像全局特性而將邊緣像素連接起來(lái)組成區(qū)域封閉邊界的一種方法。在預(yù)先知道區(qū)域形狀的條件下,利用Hough變換可以方便地得到邊界曲線而將不連續(xù)的像素邊緣點(diǎn)連接起來(lái)。Hough變換的主要優(yōu)點(diǎn)是受噪聲和曲線間斷的影響小。利用Hough變換可以直接檢測(cè)某些已知形狀的目標(biāo),如直線。3.2Hough變換原理Hough變換的基本思想是點(diǎn)線的對(duì)偶性。一方面圖像空間中共線的點(diǎn)對(duì)應(yīng)在參數(shù)空間里相交的線:另一方面,在參數(shù)空間中相交于同一個(gè)點(diǎn)的所有直線在圖像空間里都有共線的點(diǎn)與之對(duì)應(yīng)。因此Hough變換把圖像空間中的直線檢測(cè)問(wèn)題轉(zhuǎn)換到參數(shù)空間中對(duì)點(diǎn)的檢測(cè)問(wèn)題,通過(guò)在參數(shù)空間里進(jìn)行簡(jiǎn)單的累加統(tǒng)計(jì)完成檢測(cè)任務(wù)。如果參數(shù)空間中使用直線方程,當(dāng)圖像空間直線斜率為無(wú)窮大時(shí),會(huì)使累加器尺寸和變很大,從而使計(jì)算復(fù)雜度過(guò)大。為解決這一問(wèn)題,采用直線極坐標(biāo)方程,變換方程如下:(3-1)根據(jù)這個(gè)方程,原圖像空間中的點(diǎn)對(duì)應(yīng)新參數(shù)空間中的一條正弦曲線,即點(diǎn)正弦曲線對(duì)偶。檢測(cè)直線的具體過(guò)程就是讓?duì)热”榭赡艿闹?,然后?jì)算ρ的值,再根據(jù)θ和ρ的值對(duì)累加數(shù)組累加,從而得到共線點(diǎn)的個(gè)數(shù)。下面介紹θ和ρ取值范圍的確定。設(shè)被檢測(cè)的直線在第一象限,右上角坐標(biāo)為(m,n),則第一象限中直線的位置情況如下圖2-1所示:(a)檢測(cè)位置圖一圖3-1(b)檢測(cè)位置圖二由圖可見,當(dāng)直線從與x軸重合處逆時(shí)針旋轉(zhuǎn)時(shí),θ的值開始由0增大,直到180,所以θ的取值范圍為0-180.由直線極坐標(biāo)方程可知:(3-2)由θ、ρ的取值范圍和它們的分辨率就可以確定累加器的大小,從而檢測(cè)直線。整個(gè)直線檢測(cè)算法流程如下圖所示:3.3基于Hough變換的直線檢測(cè)的實(shí)現(xiàn)圖3-2直線檢測(cè)流程圖3.3.1直線檢測(cè)的流程基于Hough的直線檢測(cè)流程圖如上所示:讀取待檢測(cè)圖像圖像預(yù)處理并使用Canny算子對(duì)待檢測(cè)圖像進(jìn)行邊緣檢測(cè)對(duì)邊緣檢測(cè)的輸出圖像進(jìn)行霍夫變換統(tǒng)計(jì)概率霍夫變換顯示原始圖像和檢測(cè)到的直線結(jié)束3.3.2直線檢測(cè)算法分析(1)讀取待檢測(cè)圖像利用OpenCV中的函數(shù)CVLoadImage可以載入指定圖像,然后可以將待處理圖像以houghlines.exe..\building.jpg的形式寫成TXT文件,然后轉(zhuǎn)為bat文件,進(jìn)而可以進(jìn)行批量操作方便用戶處理。使用函數(shù)為if(argc==2&&(src=cvLoadImage(argv[1],0))!=0)(2)圖像預(yù)處理并進(jìn)行邊緣檢測(cè)在使用Hough變換前需對(duì)圖像進(jìn)行圖像預(yù)處理操作以滿足Hough變換的要求,這一部分操作可以決定直線檢測(cè)系統(tǒng)的穩(wěn)定性。進(jìn)行圖像灰度化處理,利用cvCvtColor函數(shù)可以將圖像由彩色轉(zhuǎn)為灰度。使用語(yǔ)句為:cvCvtColor(dst,color_dst,CV_GRAY2BGR)。邊緣檢測(cè),使用Canny算子來(lái)對(duì)待處理圖像進(jìn)行邊緣檢測(cè)。使用語(yǔ)句為:cvCanny(src,dst,50,200,3)。(3)使用Hough變化來(lái)進(jìn)行直線檢測(cè)在直線檢測(cè)中要用到的函數(shù)是CVHoughLines2,得到的結(jié)果是lines,而lines其中的元素是由兩個(gè)元素組成的子向量(rho,theta),所以lines的訪問(wèn)方式類似二維數(shù)組。CVHoughLines2的函數(shù)原型為CvSeq*cvHonghLines2(CvArr*image,void*line_storage,intmehtod,doublerho,doubletheta,intthreshold,doubleparam1=0,doubleparam2=0);參數(shù)說(shuō)明:Image:輸入8-比特、單通道(二值)圖像,當(dāng)用CV_HOUGH_PROBABILISTIC方法檢測(cè)的時(shí)候其內(nèi)容會(huì)被函數(shù)所改變。Line_storage:檢測(cè)到的線段存儲(chǔ)倉(cāng)。可以是內(nèi)存存儲(chǔ)倉(cāng)(此種情況下,一個(gè)線段序列在存儲(chǔ)倉(cāng)中被創(chuàng)建,并且由函數(shù)返回),或者是包含線段參數(shù)的特殊類型的具有單行/單列的矩陣(CVMat*)。矩陣頭為函數(shù)所修改,使得它的cols/rows將包含一組檢測(cè)到的線段。如果line_storage是矩陣,而實(shí)際線段的數(shù)目超過(guò)矩陣尺寸,那么最大可能數(shù)目的線段被返回(線段沒(méi)有按照長(zhǎng)度、可信度或其它指標(biāo)排序)。Method:Hough變換變量,是下面變量的其中之一。CV_HOUGH_STANDARD-傳統(tǒng)或標(biāo)準(zhǔn)Hough變換。每一個(gè)線段由兩個(gè)浮點(diǎn)數(shù)(ρ,θ)表示,其中ρ是直線與原點(diǎn)(0,0)之間的距離,θ線段與x-軸之間的夾角。因此,矩陣類型必須是CV_32FC2type。CV_HOUGH_PROBABILISTIC-概率Hough變換(如果圖像包含一些長(zhǎng)的線性分割,則效率更高)。它返回線段分割而不是整個(gè)線段。每個(gè)分割用起點(diǎn)和終點(diǎn)來(lái)表示,所以矩陣(或創(chuàng)建的序列)類型是CV_32SC4。CV_HOUGH_MULTI_SCALE-傳統(tǒng)Hough變換的多尺度變種。線段的編碼方式與CV_HOUGH_STANDARD的一致。rho:以象素為單位的距離精度,一般取1。theta:以弧度為單位角度精度,一般取CV_PI/180。Threshold:閾值參數(shù)。當(dāng)在一條直線上的像素點(diǎn)數(shù)大于threshold時(shí),才將該直線作為檢測(cè)結(jié)果顯示出來(lái)。該值越大,得到直線越少。(4)用函數(shù)cvNamedWindow創(chuàng)建兩個(gè)窗口并用函數(shù)cvShowImage分辨顯示源圖像和Hough變換處理后的圖像。3.3.3函數(shù)分析表3-1函數(shù)及其局部變量分析表編號(hào)返回類型函數(shù)名功能局部變量編號(hào)變量類型變量名作用1intmain主函數(shù)1intargc參數(shù)數(shù)量2char**argv參數(shù)指針3IplImage*src源圖像4IplImage*gray檢測(cè)圖像的灰度形式存儲(chǔ)5CvMemstorage*storage動(dòng)態(tài)內(nèi)存存儲(chǔ)器2voidCVShowImage顯示檢測(cè)結(jié)果1IplImage*Color_dst顯示畫線圖像2IplImage*Src源圖像3charsource顯示變換后圖像4charHough顯示畫線圖像3IplImage*cvCreateMemStorage創(chuàng)建內(nèi)存存儲(chǔ)器4IplImage*cvCreateImage創(chuàng)建圖像intcvGetSize(src)獲取源圖像尺寸6VoidCVCanny圖像邊緣檢測(cè)1IplImage*src源圖像2IplImage*dst目的圖像7VoidCVCvtColor顏色空間轉(zhuǎn)換函數(shù)1IplImage*tsrc源圖像2IplImage*dst目的圖像8Cvseq*CVHoughLines2Hough直線檢測(cè)1IplImage*Color_dst顯示畫線圖像2CVMemStorage*storage內(nèi)存9intcvNamedWindow創(chuàng)建窗口1charsource源圖像窗口2charHough變換后窗口3.3.4顯示程序運(yùn)行結(jié)果(a)原始圖像圖3-3(b)直線檢測(cè)程序結(jié)果顯示第四章結(jié)論數(shù)字圖像處理這一技術(shù)應(yīng)用特別廣泛,本次課程設(shè)計(jì)是基于Hough變換的直線檢測(cè),主要是研究Hough變換在圖像檢測(cè)方面的應(yīng)用。在實(shí)際的圖像檢測(cè)方面,對(duì)于一幅數(shù)字圖像進(jìn)行定形狀圖形的檢測(cè),需要對(duì)二進(jìn)制的圖像進(jìn)行圖像分析,其中包括:形態(tài)學(xué)處理、圖像分割、邊緣檢測(cè),只有經(jīng)過(guò)這些處理之后才可以進(jìn)行圖像的檢測(cè)。而在每一個(gè)處理過(guò)程中這些算法都是由一定地局限性,在顯示結(jié)果圖中,上方圖像直線檢測(cè)比較清晰,檢測(cè)比較成功,而位于圖像下方的密集直線段檢測(cè)就會(huì)出現(xiàn)漏掉或者檢測(cè)錯(cuò)誤的情況。如何能夠消除算法的局限性,能夠成熟地運(yùn)用這些算法進(jìn)行直線檢測(cè),這還是需要我們以后繼續(xù)學(xué)習(xí)的地方。在本次課程設(shè)計(jì)中,還有一個(gè)難點(diǎn)就是在之前的OpenCV和VS2008的安裝與環(huán)境配置中,由于對(duì)這方面知識(shí)太過(guò)于欠缺,在配置過(guò)程會(huì)出現(xiàn)各種各樣的問(wèn)題。在這次的課程設(shè)計(jì)中最大的收獲就是學(xué)習(xí)了Hough變換,簡(jiǎn)單地知道了該變換在數(shù)字圖像處理中是如何運(yùn)用的,通過(guò)自學(xué)查資料也對(duì)Hough變換和數(shù)字圖像處理由不懂到懂,既學(xué)習(xí)到了知識(shí),也提高了自己的學(xué)習(xí)能力和相關(guān)實(shí)踐能力。參考文獻(xiàn)[1]劉瑞禎,于仕琪.OpenCV教程——基礎(chǔ)篇.北京航空航天大學(xué)版社,2007[2]Bradski.GandKachler.A.學(xué)習(xí)OpenCV(中文版).于仕琪,劉瑞禎.清華大學(xué)出版社,2009[3]黎松,平西建,丁益洪.開放源代碼的計(jì)算機(jī)視覺(jué)類庫(kù)OpenCV的應(yīng)用.計(jì)算機(jī)應(yīng)用與軟件.2005,22(8):134-137附錄/*這是一個(gè)命令行程序,以圖像作為文件輸入變量編譯時(shí)選擇“#if1”或“#if0”,可以使用標(biāo)準(zhǔn)和概率HOUGH變換兩種方法*/#include<cv.h>#include<highgui.h>#include<math.h>intmain(intargc,char**argv){IplImage*src;if(argc==2&&(src=cvLoadImage(argv[1],0))!=0){IplImage*dst=cvCreateImage(cvGetSize(src),8,1);IplImage*color_dst=cvCreateImage(cvGetSize(src),8,3);CvMemStorage*storage=cvCreateMemStorage(0);CvSeq*lines=0;inti;cvCanny(src,dst,50,200,3);cvCvtColor(dst,color_dst,CV_GRAY2BGR);#if0lines=cvHoughLines2(dst,storage,CV_HOUGH_STANDARD,1,CV_PI/180,150,0,0);for(i=0;i<lines->total;i++){float*line=(float*)cvGetSeqElem(lines,i);floatrho=line[0];floattheta=line[1];CvPointpt1,pt2;doublea=cos(theta),b=sin(theta);if(fabs(a)<0.001){pt1.x=pt2.x=cvRound(rho);pt1.y=0;pt2.y=color_dst->height;}elseif(fabs(b)<0.001){pt1.y=pt2.y=cvRound(rho);pt1.x=0;pt2.x=color_dst->width;}else{pt1.x=0;pt1.y=cvRound(rho/b);pt2.x=cvRound(rho/a);pt2.y=0;}cvLine(color_dst,pt1,pt2,CV_RGB(255,0,0),3,8);}#elselines=cvHoughLines2(dst,storage,CV_HOUGH_PROBABILISTIC,1,CV_PI/180,80,30,10);for(i=0;i<lines->total;i++){CvPoint*line=(CvPoint*)cvGetSeqElem(lines,i);cvLine(color_dst,line[0],line[1],CV_RGB(255,0,0),3,8);}#endifcvNamedWindow("Source",1);cvShowImage("Source",src);cvNamedWindow("Hough",1);cvShowImage("Hough",color_dst);cvWaitKey(0);}}基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測(cè)系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營(yíng)養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測(cè)試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測(cè)儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測(cè)儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測(cè)儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測(cè)量?jī)x的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測(cè)儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測(cè)性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測(cè)微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測(cè)基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測(cè)量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測(cè)量?jī)x的研制基于單片機(jī)的紅外測(cè)油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測(cè)漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測(cè)技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無(wú)功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測(cè)系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動(dòng)譯碼系統(tǒng)設(shè)計(jì)與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論