畢業(yè)設計(論文) 基于MATLAB圖像分割算法研究與實現(xiàn)
基于MATLAB圖像分割算法研究與實現(xiàn)摘 要 圖像分割是指把圖像分解成各具特性的區(qū)域并提取出感興趣目標的技術和過程,它是計算機視覺領域的一個重要而且基本的問題,分割結果的好壞將直接影響到視覺系統(tǒng)的性能。因此從原理、應用和應用效果的評估上深入研究圖像分割技術具有十分重要的意義。本課題主要介紹了圖像分割的基本知識,研究了圖像分割的兩大類算法,即基于邊緣檢測的方法和基于區(qū)域生成的方法。采用MATLAB仿真了所有分割過程,得到了比較理想的分割結果,并分析了各個算法的優(yōu)點和不足之處,以及適用于何種圖像?;谶吘墮z測方法種類繁多,主要介紹基于EDGE函數(shù)、檢測微小結構、四叉樹分解和閾值分割的方法實現(xiàn)對圖像的邊緣檢測及提取。而基于區(qū)域的圖像分割方法主要包括區(qū)域生長法和分裂-合并分割方法。通過多次的實驗過后,總結出一般的圖像分割處理可以用EDGE函數(shù)。而特定的圖像應用閾值分割、檢測微小結構和四叉樹分解比較簡單。雖然近年來人們在圖像分割方面做了大量的研究工作,但由于尚無通用的分割理論,因此現(xiàn)已提出的分割算法大都是針對具體問題的,并沒有一種適合于所有圖像的通用的分割算法,有待于進一步解決。關鍵字:圖像分割;邊緣檢測;區(qū)域生成;閾值分割 Research of image segmentation algorithm Abstract Image Segmentation is the technique and the process to segment an image into different sub-mages with different characters and to extract the interested objects from the image. It is an important and basic procedure in the field of computer vision, the quality of image segmentation directly affects the performance of vision system. Therefore, from the theory, application and evaluation of application effect of depth of image segmentation is of great significance. This issue introduces the basics of image segmentation, image segmentation of the two major algorithms have been done, that is based on edge detection method and the method based on regional produce. Segmentation process is simulated and the results have shown perfect. Advantages and disadvantages of each algorithm are discussed at the end of the paper, and to apply to each image. Edge detection method based on a wide range of EDGE-based functions are introduced, the detection of minimal structure, quadtree decomposition and threshold segmentation method to realize the edge detection and extraction. The region-based image segmentation methods include region growing and division - combined segmentation. Through many experiments later, summed up the general image segmentation can be EDGE function. The specific application of image segmentation, the detection of minimal structure and quadtree decomposition is simple. Although a lot of image segmentation research has been done in recent years, but there is not general theory of segmentation, the proposed segmentation algorithm has been mostly issue-specific, and there is not a suitable segmentation algorithm for all common image, remains to be resolved. Keywords: Image segmentation; Edge detection; Region segmentation; Threshold 引 言 圖像分割是數(shù)字圖像處理中的一項關鍵技術,它使得其后的圖像分析,識別等高級處理階段所要處理的數(shù)據(jù)量大大減少,同時又保留有關圖像結構特征的信息。由于分割中出現(xiàn)的誤差會傳播至高層次處理階段,因此分割的精確程度是至關重要的,多年來一直受到研究人員的高度重視,被認為是計算機視覺中的一個瓶頸。圖像分割是圖像處理中的主要問題,也是計算機視覺領域低層次視覺中的主要問題,同時它又是一個經(jīng)典難題。由于問題的重要性和困難性,從七十年代起圖像分割問題就吸引了很多研究人員為之付出了巨大的努力,但到目前為止還未存在一個通用的方法,也不存在一個判斷分割是否成功的客觀標準。近幾年來,很多研究人員做了大量的工作,提出了很多實用的分割算法,隨著統(tǒng)計學理論、模糊集理論、神經(jīng)網(wǎng)絡、形態(tài)學理論、小波理論等在圖像分割中的應用日漸廣泛,遺傳算法、尺度空間、多分辨率方法、非線性擴散方程等近期涌現(xiàn)的新方法和新思想也不斷被用于解決分割問題,國內外學者提出了不少針對一些具體應用的好的分割方法。本文針對當前主流的灰度圖像分割算法進行了分析、分類、歸納和總結,指出了各類方法的優(yōu)缺點,為人們在不同的應用場合及不同的圖像數(shù)據(jù)條件選擇不同的分割算法提供了一定的依據(jù)。需要指出的是,由于從不同的角度將得到不同的分類結果,本文中涉及方法的分類并不是絕對的,而且許多分割方法還是多種簡單方法的綜合體,我們只能大致將它們分為屬于最能反映其特點的某一類。 第一章 數(shù)字圖像分割概述1.1 基本概念1.1.1 圖像和數(shù)字圖像圖像就是用各種觀察系統(tǒng)以不同的形式和手段觀察客觀世界而獲得的,可以直接的或間接的作用于人眼而產(chǎn)生視知覺的實體??茖W研究和試驗表明,人類從外界獲得的信息75%來自于視覺系統(tǒng),也就是說,人類的大部分信息都是從圖像中獲得的。圖像是人們從出生以來體驗到的最重要、最豐富、信息量獲得最大的部分。圖像能以各種各樣的形式出現(xiàn),例如,可視和不可視的,抽象的和實際的,適于計算機處理的和不適于計算機處理的。就其本質來說,可以將圖像分為兩大類: 一類是模擬圖像,包括光學圖像、照相圖像和電視圖像等,例如,在生物醫(yī)學研究中,人們在顯微鏡下看到的圖像就是一幅光學模擬圖像,照片、用線條畫的圖、繪畫也都是模擬圖像。模擬圖像處理速度快,但精度和靈活性差,不易查找和判斷。另一類是將連續(xù)的模擬圖像經(jīng)過離散化處理后變成計算機能夠識別的點陣圖像,成為數(shù)字圖像。嚴格的數(shù)字圖像是一個經(jīng)過等距離矩形網(wǎng)格采樣,對幅度進行等間隔量化的二維函數(shù),因此,數(shù)字圖像就是實際上就是被量化的二維采樣數(shù)組。與模擬圖像相比,數(shù)字圖像具有以下顯著特點: (1)精度高:目前的計算機技術可以將一幅模擬圖像數(shù)字化為任意的二維數(shù)組,即數(shù)字圖像可以由無限個像素組成,每個像素的亮度可以量化為12位(即4096個灰度級),這樣的精度使數(shù)字圖像與彩色圖像的效果相差無幾; (2)處理方便:由于數(shù)字圖像本質上是一組數(shù)據(jù),所以可以用計算機對它進行任意方式的修改,例如,放大、縮小、改變顏色、復制和刪除某一部分等; (3)重復性好:模擬圖像(例如,照片)即便使用非常好的底片和相紙,也會隨著時間的流逝而褪色、發(fā)黃,而數(shù)字圖像可以儲存在光盤中,上百年后再用計算機重現(xiàn)也不會有絲毫的改變。 1.1.2 圖像分割的定義在圖像的研究和應用中,人們往往只對一幅圖像中的某些部分感興趣,這些感興趣的部分一般對應圖像中特定的、具有特殊性質的區(qū)域(可以對應單個區(qū)域,也可以對應多個區(qū)域),稱之為目標或前景;而其它部分稱為圖像的背景。為了辨識和分析目標,需要把目標從一幅圖像中孤立出來,這就是圖像分割要研究的問題。所謂圖像分割,從廣義上來講,是根據(jù)圖像的某些特征或特征集合(包括灰度、顏色、紋理等)的相似性準則對圖像像素進行分組聚類,把圖像平面劃分成若干個具有某些一致性的不重疊區(qū)域。這使得同一區(qū)域中的像素特征是類似的,即具有一致性;而不同區(qū)域間像素的特征存在突變,即具有非一致性。 從集合的角度出發(fā),圖像分割定義如下: 設R代表整個圖像區(qū)域,對R的分割可看作將R分成若干個滿足一下5個條件的非空子集(子區(qū)域),(1)即分割成的所有子區(qū)域的并應能構成原來的區(qū)域R。(2)對所有的i和j及ij,有即分割成的各子區(qū)域互不重疊。(3)對于;有1,2,i=,n;有。即分割得到的屬于同一區(qū)域的像素應具有某些相同的特性。(4)對于,有。即分割得到的屬于不同區(qū)域的像素應具有不同的性質。()(5)對于;1,2,i,是連通的區(qū)域。即同一子區(qū)域的像素應當是連通的。1.2 圖像分割研究的發(fā)展和意義1.2.1 圖像技術的發(fā)展 圖像處理是人類視覺延續(xù)的重要手段,可以使人們看到任意波長上所測得的圖像。例如,借助的伽馬相機、X光機,人們可以看到紅外和超聲圖像;借助CT,人們可以看到物體內部的斷層圖像;借助相應工具,人們可以看到立體圖像和剖視圖像。幾十年前,美國在太空探索中拍回了大量的月球圖片,但是由于種種環(huán)境因素的影響,這些圖片是非常不清晰的,為此,人們對這些照片進行了一些圖像處理手段,使照片中的重要信息得以清晰再現(xiàn)。正是這一方法產(chǎn)生的效果引起了巨大的轟動,從而促進了圖像處理技術的蓬勃發(fā)展。總體來說,圖像處理技術的發(fā)展大致經(jīng)歷了初創(chuàng)期、發(fā)展期、普及期和實用化期四個階段。初創(chuàng)期開始于20世紀60年代,當時的圖像采用像素型光柵進行掃描顯示,大多采用中、大型機進行處理。在這一時期,由于圖像存儲成本高,處理設備造價高,因而其應用面很窄。20世紀70年代進入發(fā)展期,開始大量采用中、小型機進行處理,圖像處理也漸漸改用光柵掃描顯示方式,特別是出現(xiàn)了CT和衛(wèi)星遙感圖像,對圖像處理的發(fā)展起到了很好的促進作用。到了20世紀80年代,圖像處理技術進入普及期,此時的微機能夠擔當起圖形圖像處理的任務。VLSI的出現(xiàn)更使得處理速度大大提高,其造價也進一步降低,極大地促進了圖像圖像系統(tǒng)的普及和應用。20世紀90年代是圖像技術的實用化時期,圖像處理的信息量巨大,對處理速度的要求極高。據(jù)美國每日科學網(wǎng)2011年6月21日報道,美國普渡大學的研究人員開發(fā)出一種基于熱映像的計算機圖像分割算法,可使計算機迅速識別出物體的外形,即便其發(fā)生扭曲或輕度變形也不會受到影響。該技術將使機器視覺與人類視覺更加接近,可廣泛應用于圖像搜索、醫(yī)療影像以及無人機制造等多個領域。詳細研究結果將分為兩篇論文,在6月21日至23日舉行的IEEE(美國電氣及電子工程師學會)計算機視覺和模式識別大會上予以公布。新算法更接近于人類,是一種無監(jiān)督機器學習(計算機或是機器人在無需任何事前訓練的情況下就能具有感知和學習能力)技術,計算機可自行估計可分割的段數(shù)而無需預先提供。 21世紀的圖像處理技術要向高質量化方面發(fā)展,主要體現(xiàn)在以下幾點: a高分辨率、速度高:圖像處理技術發(fā)展的最終目標是要實現(xiàn)圖像的實時處理,這在移動目標的生成、識別和跟蹤上有著重要意義; b立體化:立體化包括的信息量最為豐富和完整,未來采用數(shù)字全息技術將有助于達到這個目的; c智能化:其目的是實現(xiàn)圖像的智能生成、處理、識別和理解。 1.2.2 圖像分割的研究意義圖像分割是數(shù)字圖像處理中的一項關鍵技術,它使得其后的圖像分析,識別等高級處理階段所要處理的數(shù)據(jù)量大大減少,同時又保留有關圖像結構特征的信息。由于分割中出現(xiàn)的誤差會傳播至高層次處理階段,因此分割的精確程度是至關重要的,多年來一直受到研究人員的高度重視,被認為是計算機視覺中的一個瓶頸。圖像分割是一種重要的圖像技術,在不同領域中有時也用其它名稱:如目標輪廓(object delineation)技術,閾值化(threshold)技術,圖像區(qū)分或求差(image discrimination)技術,目標檢測(target detection)技術,目標識別(target recognition)技術,目標跟蹤(target tracking)技術等,這些技術本身或其核心實際上也就是圖像分割技術。圖像分割是圖像處理、分析的一項基本內容。圖像分割的應用非常廣泛,幾乎出現(xiàn)在有關圖像處理的所有領域,并涉及各種類型的圖像。圖像分割在工業(yè)自動化、在線產(chǎn)品檢驗、生產(chǎn)程控、文件圖像處理、遙感圖像、保安監(jiān)視、以及軍事、體育、農(nóng)業(yè)工程等方面都有廣泛的應用。例如:在遙感圖像中,合成孔徑雷達圖像中目標的分割、遙感云圖中不同云系和背景分布的分割等;在醫(yī)學應用中,腦部MR圖像分割成灰質(GM)、白質(WM)、腦脊髓(CSF)等腦組織和其它腦組織區(qū)域(NB)等;在交通圖像分析中,把車輛目標從背景中分割出來等;在面向對象的圖像壓縮和基于內容的圖像檢索中將圖像分割成不同的對象區(qū)域等。在各種圖像應用中,只要需對圖像目標進行提取,測量等都離不開圖像分割。圖像分割的準確性將直接影響后續(xù)任務的有效性,因此圖像分割具有十分重要的意義。 1.2.1 圖像分割的研究現(xiàn)狀及發(fā)展趨勢對圖像分割來說,如果不利用關于圖像或所研究目標的先驗知識,任何基于數(shù)學工具的解析方法都很難得到很好的效果。因此,在更多的時候,人們傾向于重新設計一個針對具體問題的新算法來解決所而臨的圖像分割問題。這在只有少量圖像樣本的時候,利用各種先驗知識,設計一個具有針對性的算法進行圖像分割是比較容易的。但是當需要構建一些實用的機器視覺系統(tǒng)時,所面臨的將是具有一定差異性、數(shù)量龐大的圖像庫,此時如何很好的利用先驗知識,設計一個對所有待處理圖像都實用的分割算法將是一件非常困難的任務。其次,由于缺乏一個統(tǒng)一的理論作為基礎,同時也缺乏對人類視覺系統(tǒng)(human vision system,HVS)機理的深刻認識,構造一種能夠成功應用于所有圖像的統(tǒng)一的圖像分割算法,到目前為止還是難以實現(xiàn)的。那么,我們是否能研究出針對不同特點的圖像使用不同的分割方法,以期都能獲得滿意的分割結果呢?遺憾的是迄今為止還沒有一個完善的理論來指導如何根據(jù)圖像的特點來選擇合適的法。 現(xiàn)實生活中在分割一幅圖像時,多是依據(jù)經(jīng)驗和直覺去選擇方法,通過反復實踐來找到一種最佳的方法。與計算機科學技術的確定性和準確性相比,圖像分割更像是一種藝術行為,有經(jīng)驗的人能比較容易的選用出適當?shù)姆椒ǎ共煌膱D像都得到最佳的分割效果。但是,當要處理的圖像十分龐大時,圖像分割就像是流水線上的一道簡單工序,這種藝術行為就顯得無能為力了。隨著圖像技術和多媒體技術的發(fā)展,包括圖像、音頻和視頻等信息的多媒體數(shù)據(jù)己經(jīng)廣泛用于Internet和企事業(yè)信息系統(tǒng)中,而且越來越多的商業(yè)活動、信息表現(xiàn)和事務交易中都將包括多媒體數(shù)據(jù),自然也就包含了大量的圖像,基于內容的圖像檢索(intent based image retrieval,CBIR)的廣泛應用就是一個例子,這些常常都是以圖像分割作為基礎的。 縱觀圖像分割技術這些年的發(fā)展,其中有幾個明顯的趨勢: 第一,大量學者致力于將新的概念、新的方法引入圖像分割領域,如這幾年逐漸引起人們重視的模糊算法、神經(jīng)網(wǎng)絡與遺傳算法、小波分析、粗集理論、數(shù)學形態(tài)學等理 論都先后被應用于圖像分割領域,為該領域中的研究注入了新的活力,有效的解決了原有理論的一部分缺陷,改善了分割效果,更重要的是為圖像分割問題的最終解決開拓了新的思路。隨著基礎理論研究的深化,這一趨勢是必將會繼續(xù)下去。 第二,人們非常重視多種分割算法的有效結合。綜合使用2種或2種以上的方法,能夠部分克服單獨的圖像分割算法難以對一般圖像取得令人滿意的分割效果的問題,占據(jù)了分割領域中現(xiàn)有文獻的大部分,而采取什么樣的結合方式才能體現(xiàn)各種方法的優(yōu)點,彌補各自的不足,取得好的預期效果,在未來將仍是人們關注的主要問題之一。 第三,針對特定領域的特殊問題,利用這些領域的專業(yè)知識來輔助解決圖像分割問題,越來越多的吸引了研究人員的注意力。相應的,對圖像分割作為一個統(tǒng)一對象的研究在逐漸弱化。醫(yī)學圖像處理中的病理圖像分割、工業(yè)圖像分割、安全圖像處理中的保密信息提取、軍事圖像處理中的雷達圖像分割及衛(wèi)星圖像分割、交通圖像處理中的車牌識別等都是近幾年來圖像分割領域中討論較多的熱點問題。 第二章 數(shù)字圖像分割基本算法2.1 閾值分割算法 閾值分割法是一種簡單的基于區(qū)域的分割技術,是一種廣泛使用的圖像分割技術,它利用圖像中要提取的目標和背景在灰度特性上的差異,把圖像視為具有不同灰度級的兩類區(qū)域的組合,選取一個合適的閾值,以確定圖像中每個像素點是屬于目標還是屬于背景。它不僅可以極大的壓縮數(shù)據(jù)量,而且也大大簡化了圖像信息的分析和處理步驟。閾值法是首先確定一個處于圖像灰度級范圍內的灰度閾值T,然后將圖像中每個像素的灰度值都與這個閾值T比較,根據(jù)它是否超過閾值T而將該像素歸于兩類中的一類。常用的方法就是設定某一閾值T,用T將圖像分割成大于閾值T的像素群(目標)和小于閾值T(背景)的像素群兩部分。這兩類像素一般屬于圖像中的兩類區(qū)域,所以對像素根據(jù)閾值分類達到了區(qū)域分割的目的。輸入圖像是,輸出圖像是,則: ()() (2-1)從該方法中可以看出,確定一個最優(yōu)閾值是分割的關鍵,同時也是閾值分割的一個難題。閾值分割實質上就是按照某個準則求出最佳閾值的過程。現(xiàn)有的大部分算法都是集中在閾值確定的研究上。 目前己提出的閾值化方法很多,相應的分類也有很多種,閾值化分割方法根據(jù)圖像本身的特點,可分為單閾值分割方法和多閾值分割方法;也可分為基于像素值的閾值分割方法、基于區(qū)域性質的閾值分割方法和基于坐標位置的閾值分割方法。若根據(jù)分割算法所具有的特征或準則,還可以分為直方圖峰谷法、最大類空間方差法、最大墑法、模糊集法、特征空間聚類法、基于過渡區(qū)的閾值選取法等。2.1.1 直方圖閾值的雙峰法該閾值化方法的依據(jù)是圖像的直方圖,通過對直方圖進行各種分析來實現(xiàn)對圖像的分割。圖像的直方圖可以看作是像素灰度值概率分布密度函數(shù)的一個近似,設一幅圖像僅包含目標和背景,那么它的直方圖所代表的像素灰度值概率密度分布函數(shù)實際上就是對應目標和背景的兩個單峰分布密度函數(shù)的和。圖像二值化過程就是在直方圖上尋找兩個峰、一個谷來對一個圖像進行分割,也可以通過用兩級函數(shù)來近似直方圖。 若灰度圖像的直方圖,其灰度級范圍為0,1,=,L-1,當灰度級為k時的像素數(shù)為 ,則一幅圖像的總像素數(shù)N為: (2-2) 灰度級i出現(xiàn)的概率為: 當灰度圖像中畫面比較簡單且對象物的灰度分布比較有規(guī)律時,背景和對物象在圖像的灰度值方圖上各自形成一個波峰,由于每兩個波峰間形成一個低谷,因而選擇雙峰間低谷處所對應的灰度值為閾值,可將兩個區(qū)域分離。 把這種通過選取直方圖閾值來分割目標和背景的方法稱為直方圖閾值雙峰法。如圖2-1所示,在灰度級和兩處有明顯的波峰,而在t處是一個谷點。直方圖雙峰法閾值分割圖像 圖 2-1直方圖雙峰法閾值分割圖像程序 clearclose allI=imread(cameraman.tif);imhist(I);newI=im2bw(I,150/255);subplot(121),imshow(I)subplot(122),imshow(newI)圖2-2 雙峰法分割前后的圖像 將原始圖像和閾值分割后的圖像比較,可以發(fā)現(xiàn)有些前景圖像和背景圖像的灰度值太接近,導致有些前景圖像沒有從背景中分離出來,圖像失真了。雙峰法比較簡單,在可能情況下常常作為首選的閾值確定方法,但是圖像的灰度直方圖的形狀隨著對象、圖像輸入系統(tǒng),輸入環(huán)境等因素的不同而千差萬別,當出現(xiàn)波峰間的波谷平坦、各區(qū)域直方圖的波形重疊等情況時,用直方圖閾值難以確定閾值,必須尋求其他方法來選擇適宜的閾值。2.1.2 迭代法迭代式閾值選取的基本思路是:首先根據(jù)圖像中物體的灰度分布情況,選取一個近似閾值作為初始閾值,一個較好的方法就是將圖像的灰度均值作為初始閾值;然后通過分割圖像和修改閾值的迭代過程獲得認可的最佳閾值5。迭代式閾值選取過程可描述如下。(1)選取一個初始閾值T。(2)利用閾值T把給定圖像分割成兩組圖像,記為 , 。 (3)計算和均值和 , 。(4)選取新的閾值T,且+= (2-4) (5)重復第(2)(4)步,直至和均值和 不再變化為止。 具體實現(xiàn)時,首先根據(jù)初始開關函數(shù)將輸入圖逐個圖像分為前景和背景,在第一遍對圖像掃描結束后,平均兩個積分器的值以確定一個閾值。用這個閾值控制開關再次將輸入圖分為前景和背景,并用做新的開關函數(shù)。如此反復迭帶直到開關函數(shù)不在發(fā)生變化,此時得到的前景和背景即為最終分割結果。迭代所得的閾值分割的圖像效果良好。基于迭代的閾值能區(qū)分出圖像的前景和背景的主要區(qū)域所在,但在圖像的細微處還沒有很好的區(qū)分度。對某些特定圖像,微小數(shù)據(jù)的變化卻會引起分割效果的巨大改變,兩者的數(shù)據(jù)只是稍有變化,但分割效果卻反差極大。對于直方圖雙峰明顯,谷底較深的圖像,迭代方法可以較快地獲得滿意結果,但是對于直方圖雙峰不明顯,或圖像目標和背景比例差異懸殊,迭代法所選取的閾值不如其它方法。 迭代法閾值分割圖像程序和結果如下: I=imread(rice.png);ZMax=max(max(I);ZMin=min(min(I);TK=(ZMax+ZMin)/2;bCal=1;iSize=size(I);while(bCal)iForeground=0;iBackground=0;ForegroundSum=0;BackgroundSum=0;for i=1:iSize(1)for j=1:iSize(2)tmp=I(i,j);if(tmp>=TK)iForeground=iForeground+1;ForegroundSum=ForegroundSum+double(tmp);elseiBackground=iBackground+1;BackgroundSum=BackgroundSum+double(tmp);endendendZO=ForegroundSum/iForeground;ZB=BackgroundSum/iBackground;TKTmp=uint8(ZO+ZB)/2);if(TKTmp=TK)bCal=0;elseTK=TKTmp;endenddisp(strcat(迭代后的閾值:,num2str(TK);newI=im2bw(I,double(TK)/255);subplot(121),imshow(I)subplot(122),imshow(newI)圖2-3 迭代法分割前后的圖像迭代后的閾值:131迭代所得的閾值分割的圖像效果良好?;诘拈撝的軈^(qū)分出圖像的前景的主要區(qū)域所在,但在圖像的細微處還沒有很好的區(qū)分度??偟膩碚f迭代法比雙峰法分割的效果有很大的提高。2.1.3 大律法 圖像記t為前景與背景的分割閾值,前景點數(shù)占圖像比例為,平均灰度為;背景點數(shù)占圖像比例為,平均灰度為,則圖像的總平均灰度為: (2-5) 從最小灰度值到最大灰度值遍歷t,當t使得值: (2-6)最大時t即為分割的最佳閾值。大津法可作如下理解:該式實際上就是類間方差值,閾值t 分割出的前景和背景兩部分構成了整幅圖像,而前景取值,概率為,背景取值,概率為,總均值為u,根據(jù)方差的定義即得該式。因方差是灰度分布均勻性的一種度量,方差值越大,說明構成圖像的兩部分差別越大,當部分目標錯分為背景或部分背景錯分為目標都會導致兩部分差別變小,因此使類間方差最大的分割意味著錯分概率最小。直接應用大津法計算量較大,因此在實現(xiàn)時采用了等價的公式 (2-7)在MATLAB中,graythresh函數(shù)實現(xiàn)用大津法計算全局圖像的閾值。下面分別使用graythresh函數(shù)和前面所說的等價公式計算閾值。大律法閾值分割圖像程序和結果如下:I=imread(coins.png);subplot(131),imshow(I);title(原始圖像)level=graythresh(I);BW=im2bw(I,level);subplot(132),imshow(BW)title(graythresh 計算閾值)disp(strcat(graythresh 計算灰度閾值:,num2str(uint8(level*255)圖2-4 大律法分割前后的圖像在測試中發(fā)現(xiàn),大津法選取出來的閾值非常理想,表現(xiàn)較為良好。雖然它在很多情況下都不是最佳的分割,但分割質量通常都有一定的保障,可以說是最穩(wěn)定的分割。 2.2 邊緣檢測算法研究數(shù)字圖像的邊緣檢測是圖像風格、目標區(qū)域的識別、區(qū)域形狀提取等圖像分析領域中十分重要的基礎。邊緣檢測技術在數(shù)字圖像處理中非常重要,因為邊緣是圖像中所要提取的目標和背景的分界線,只有提取出了邊緣才能將背景和目標區(qū)域分開來。兩個既有不容灰度值的相鄰區(qū)域之間總存在邊緣,邊緣是灰度值不連續(xù)的結果這種不連續(xù)通常可以利用求倒數(shù)的方法方便的檢測到。一般常用一階導數(shù)和二階導數(shù)來檢測邊緣。邊緣檢測的基本思想首先是利用邊緣增強算子,突出圖像中的局部邊緣,然后定義系那個數(shù)的“邊緣強度”,通過設值閾值的方法提取邊緣點集。但是優(yōu)于噪聲和圖像模糊的愿意,檢測到的邊界可能會有間斷的情況發(fā)生。所以邊緣檢測包含兩個內容: (1)用邊緣算子提取邊緣點集; (2)在邊緣點集中取出某些邊緣點,填充一些邊緣點,再將得到的邊緣點集連接為線。常用的檢測算子有微風算子、log算子和canny算子。在MATLAB圖像出了工具箱中,提供了edge函數(shù)利用以上算子來檢測灰度圖形的邊緣。函數(shù):edge。功能:利用各個算子來做邊緣算檢測。 語法格式: BW=edge(I,method) BW=edge(I,method,thresh) BW=edge(I,method,thresh,direction) 說明:I是輸入圖像。Method是使用算子的類型,“sobel”是其默認值,表示用導數(shù)的sobel近似值檢測邊緣,那些梯度最大點返回邊緣;為“prewitt”時表示用導數(shù)的prewitt近似值檢測邊緣;為“roberts”時表示用導數(shù)的roberts近似值檢測邊緣;為“l(fā)og”時表示使用高斯濾波器的拉普拉斯運算對I進行濾波,通過尋找0相交檢測邊緣;為“zerocross”時表示使用指定的濾波器的拉普拉斯運算對I進行濾波,通過尋找0相交檢測邊緣;為“canny”時表示用拉普拉斯算子檢測邊緣。Thresh是指定的閾值,所有不強于thresh的邊都被忽略。diredtion是對于“sobel”和“prewitt”方法制定方向。diredtion是字符串,為“horizontal”表示水平方向,為“vertical”表示垂直方向,為“both”表示兩個方向(默認值)。BW是返回的二進制圖像。在二進制圖像中,數(shù)值1代表找到的邊緣,數(shù)值0代表其他像素。edge函數(shù)提供的最有效的邊緣檢測方法。該方法的優(yōu)點在于,使用兩種不同的閾值分別檢測強邊緣和弱邊緣,并且僅當弱邊緣和強邊緣相連時,才將弱邊緣包含在輸出圖像中。因此,這種方法不容易被噪聲“填充”,更容易檢測出真正的弱邊緣。) 基于邊緣檢測的分割方法可以說是人們最早研究的方法,基于在區(qū)域邊緣上的像素灰度值的變化往往比較劇烈,它試圖通過檢測不同區(qū)域間的邊緣來解決圖像分割問題。 邊緣檢測技術可以按照處理的順序分為串行邊緣檢測以及并行邊緣檢測。在串行邊緣檢測技術中。當前像素點是否屬丁欲檢測的邊緣,取決于先前像素的驗證結果;而在并行邊緣檢測技術中.一個像素點是否屬于欲檢測的邊緣,取決于當前正在檢測的像素點以及該像素點的一些相鄰像索點,這樣該模型可以同時用于檢測圖像中的所有像素點,因而稱之為并行邊緣檢測技術。 最簡單的邊緣檢測方法是井行微分算子法,它利用相鄰區(qū)域的像素值不連續(xù)的性質,采明一階或二階導數(shù)來檢測邊緣點。 2.2.1 拉普拉斯高斯算子拉普拉斯高斯算子(Laplacian of Gaussian算子,通常縮寫為log算子)是一種二階微分算子,將在邊緣處產(chǎn)生一個陡峭的零交叉。Log算子是一個線性的、移不變的算子,它通過尋找圖像灰度值中二階微分是0的點來檢測邊緣點。對一個連續(xù)函數(shù),其在處的log算子定義如下: 拉普拉斯算子是常用的邊緣檢測算子,它是各向同性的二階導數(shù) =+ (2-8) 經(jīng)邊緣檢測后的圖像g(x,y)為- (2-9) 式中,系數(shù)k與擴散效應有關。圖像經(jīng)過拉普拉斯運算后得到檢測出邊緣圖像。需要注意的是,對系數(shù)k的選擇要合理,太大會使圖像中的輪廓邊緣產(chǎn)生過沖,太小則邊緣不明顯。g(x,y)對數(shù)字圖像來講,的二階偏導數(shù)可以表示為 為此拉普拉斯算子為:= =可見數(shù)字圖像在點的拉普拉斯邊緣檢測值,可以由點的灰度值減去該點鄰域的平均灰度值來求得。另外,式(2-11)還可以表示成模板的形式,如圖2-5所示。從模板形式容易看出,如果在圖像中的一個較暗的區(qū)域中出現(xiàn)了一個亮點,那么用拉普拉斯運算就會使這個亮點變得更亮。因為圖像中的邊緣就是那些灰度發(fā)生跳變的區(qū)域,所以拉普拉斯算子在邊緣檢測中很有用。同梯度算子一樣,拉普拉斯算子也增強了噪聲,有時用拉普拉斯算子在進行邊緣檢測時,可將圖像進行平滑處理??梢杂胠og算子檢測細胞圖像。0111-40010圖2-5 拉普拉斯運算模板具體程序和結果如下: I=imread(rice.png); BW1=edge(I,log); subplot(1,2,1);imshow(I);title(原圖像); subplot(1,2,2);imshow(BW1);title(log邊緣檢測結果); 圖2-6 log算子邊緣檢測2.2.2 Canny算子 Canny算子是一種比較新的邊緣檢測算子,具有很好的邊緣檢測性能,得到了越來越廣泛的應用。Canny算子邊緣檢測的方法是尋找圖像梯度的局部最大值。梯度是用高斯濾波器的導數(shù)計算的。Canny方法使用兩個閾值來分別檢測強邊緣和弱邊緣,而且僅當強邊緣和弱邊緣相連時,弱邊緣才會包含在輸出中。因此,此方法不容易受噪聲的干擾,能夠檢測到真正的弱邊緣。 Canny算子對檢測階躍性邊緣時效果極好,去噪能力強。但由于檢測閾值固定,當檢測具有模糊邊緣的圖像時,很可能導致平滑掉部分邊緣信息。因此,為了能更精確地檢測出目標邊界,可先對圖像進行預處理,將其分割成若干子圖像,然后針對每幅子圖像中具體情況選用不同的閾值,采用針對各子圖所選擇的閾值對圖像進行動態(tài)閾值分割。實際應用時可以根據(jù)需要來調整子圖像的大小,以獲取所需的大小,這應該是一種可行的方法。 Canny把邊緣檢測問題轉換為檢測單元函數(shù)極大值的問題。在高斯噪聲中,一個典型的邊緣代表一個階躍的強度變化。根據(jù)這個模型,一個好的邊緣檢測算子應具有的3個指標位:1)低失誤概率,既要減少將真正的邊緣丟失也要減少將非邊緣判為邊緣。2)高位置精度,檢測出的邊緣應在真正的邊界上。3)對每個邊緣有惟一的響應,得到的邊界為單像素寬。為此,Canny提出了判定邊緣檢測算子的3個準則:1)信噪比準則。2)定義精度準則。3)單邊緣響應準則。 在Canny的假設下,對于一個帶有Gaussian白噪聲的階躍邊緣,邊緣檢測算子是一個與圖像函數(shù)進行卷積的濾波器f,這個卷積濾波器應該平滑掉白噪聲并找到邊緣位置。問題是怎樣確定一個能夠使三個準則得到優(yōu)化的濾波器函數(shù)。根據(jù)第一個準則,濾波器函數(shù)f對邊緣G影響由下面的卷積積分給出:假設區(qū)域-外函數(shù)f的值為0,則數(shù)學上三個準則的表達式為 : 信噪比SNR是輸入信號與噪聲的比值,它的值越大說明信號越強;Lacalization是檢測到的邊緣真正邊緣距離的倒數(shù),這個值越大說明檢測的邊緣的距離越小,二者越接近;zcx是一個約束條件,它代表零交叉點間的平均距離,說明濾波器f在校區(qū)域內對同一個邊不會有太多的響應。Canny把上面三個公式結合起來,并試圖找到能夠使之最大化的濾波器,但結果太復雜,最后Canny證明了Gaussian函數(shù)的一階導數(shù)是該優(yōu)化的邊緣檢測濾波器的有效近似。下面是算法的基本步驟: 1) 用Gaussian濾波器對圖像進行卷積;2) 計算圖像梯度的幅值和方向;3) 對梯度圖像應用非極大值抑制(置零)。以用canny算子來檢測細胞圖像。具體程序和結果如下: I=imread(rice.png); BW1=edge(I,canny); subplot(1,2,1);imshow(I);title(原圖像); subplot(1,2,2);imshow(BW1);title(canny算子檢測圖像); 圖2-7 canny算子邊緣檢測2.2.3 一階微分算子 微分算子具有突出灰度變化的作用,對圖像運用微分算子,灰度變化較大的點處算得的值較高,因此這些微分值可作為相應的邊界強度,所以可以通過對這些微分值設置閾值,提取邊界的點集。一階微分算子常用的有roberts算子、sobel算子和prewitt算子(1) Roberts邊緣檢測算子根據(jù)計算梯度原理,采用對角線方向相鄰兩像素之差得Roberts算子為:并可由下列卷積算子實現(xiàn):10 0 -101-10圖2-8 Roberts算子模板 兩個模板為在x方向和y方向的一階差分。適當選取閾值T,并做如下判斷:如果則為階躍狀邊緣點,為邊緣圖像。Roberts算子采用對角線方向相鄰兩像素之差近似梯度幅值檢測邊緣。檢測水平和垂直邊緣效果好于傾斜邊緣,定位精度高,但對噪聲敏感。(2) Sobel邊緣檢測算子Sobel算子有兩個卷積計算核,如圖2-9所示。圖像中的每個點都用這兩個核作卷積,第一個核通常對垂直邊緣相應最大,第二個核對水平邊緣相應最大。兩個卷積的最大值作為該點輸出值,運算結果是一幅邊緣幅度圖像。Sobel算子定義為:-101-202-101-1-2-1000121圖2-9 Sobel算子模板 Sobel算子通常對灰度漸變和噪聲較多的圖像處理得較好。Sobel算子的設計步驟如下:1)用高斯濾波器對圖像濾波,去除圖像中的噪聲。2)由于導數(shù)算子具有突出灰度變化的作用,對圖像運用導數(shù)算子,灰度變化較大的點處算得的值較高,通過設計閾值的方法,提取邊界點集。3)對提取邊緣后的圖像進行連接和細化,使其形成一條有意義的邊界。Sobel算子利用像素點上下、左右鄰點的灰度加權算法,根據(jù)在邊緣點處達到極值這一現(xiàn)象進行邊緣檢測。(3) Prewitt算子Prewitt算子有兩個卷積計算核,如下圖2-10所示作卷積的方法和Sobel算子的方法相似。-101-1 01-1 01 -1-1-1000111圖2-10 Prewitt算子模板下面就用edge函數(shù)調用sobel算子、roberts算子和prewitt算子檢測圖像rice.png的邊緣,并進行比較。I=imread(rice.png);BW1=edge(I,sobel);BW2=edge(I,roberts); BW3=edge(I,prewitt); subplot(2,2,1); imshow(I);title(原圖像); subplot(2,2,2); imshow(BW1);title(sobel算子提取結果); subplot(2,2,3); imshow(BW2);title(roberts算子提取結果); subplot(2,2,4); imshow(BW3);title(prewitt算子提取結果); 圖2-11 三種微分算子邊緣檢測在對rice.png的分析中可以看出,使用Roberts算子的檢測結果比較好。但是并不是每種圖像都用Roberts算子的效果好。各種算子適合使用的情況見表2-1。 算子 最佳情況Roberts對具有陡峭的低噪聲的圖像處理效果較好。但是利用Roberts算子提取邊緣的結果邊緣比較粗,因此邊緣定位不是很準確sobel對灰度漸變和噪聲較多的圖像處理效果較好。Sobel算子對邊緣定位比較準確prewitt對灰度漸變和噪聲較多的圖像處理效果較好log拉普拉斯高斯算子經(jīng)常出現(xiàn)雙像素邊界,并且該檢測方法對噪聲比較敏感;所以,很少用拉普拉斯高斯算子邊緣檢測,而是用來判斷邊緣像素是位于圖像的明區(qū)還是暗區(qū)canny此方法不容易受噪聲的干擾,能夠檢測真正的弱邊緣。在edge函數(shù)中,最有效的邊緣檢測方法是Canny方法。該方法的優(yōu)點在于,使用兩種不同的閾值分別檢測強邊緣和弱邊緣,并且僅當弱邊緣和強邊緣相連時,才將若邊緣包含在輸出圖像中。因此,這種方法不容易被噪聲“填充”,更容易檢測出真正的弱邊緣2.3 區(qū)域分割算法研究2.3.1 區(qū)域生長的原理和步驟: 區(qū)域生長的基本思想是將具有相似性質的像素集合起來構成區(qū)域。具體先對每個需要分割的區(qū)域找一個種子像素作為生長的起點,然后將種子像素周圍鄰域中與種子像素有相同或相似性質的像素(根據(jù)某種事先確定的生長或相似準則來判定)合并到種子像素所在的區(qū)域中。將這些新像素當作新的種子像素繼續(xù)進行上面的過程,直到再沒有滿足條件的像素可被包括進來。這樣一個區(qū)域就長成了。 圖2-12給出已知種子點進行區(qū)域生長的一個示例。圖2-12(a)給出需要分割的圖像,設己知有兩個種子像素(標為深淺不同的灰色方塊),現(xiàn)要進行區(qū)域生長。這里采用的判斷準則是:如果所考慮的像素與種子像素灰度值差的絕對值小于某個閾值T,則將該像素包括進種子像素所在區(qū)域。圖2-12(b)給出了時的區(qū)域生長結果,整幅圖被較好地分成2個區(qū)域;圖2-12(c)給出了時的區(qū)域生長結果,有些像素無法判定;圖2-12(d)給出了時的區(qū)域生長結果,整幅圖都被分在一個區(qū)域中了。由此可見閾值的選擇是很重要的。 從示例可知,在實際應用區(qū)域生長方法時需要解決3個問題:如何選擇一組能正確代表所需要區(qū)域的種子像素;如何確定在生長過程中能將相鄰像素包括進來的準則;如何確定生長終止的條件或規(guī)則。第一個問題通??梢愿鶕?jù)具體圖像的特點來選取種子像素。例如,在紅外圖像檢測技術中,通常目標的輻射都是比較大,所以可以選擇圖像中最亮的像素作為種子像素。如果沒有圖像的先驗知識,那么可以借助生長準則對像素進行相應的計算。如果計算結果可以看出聚類的情況,那么可以選擇聚類中心作為種子像素。第二個問題的解決不但依賴具體問題的特征,還與圖像的數(shù)據(jù)類型有關。如果圖像是RGB彩色圖像,那么如果使用單色準則就會影響分割結果。另外,還需要考慮像素間的連通性,否則有時會出現(xiàn)無意義的分割結果。 一般生長過程在進行到?jīng)]有滿足生長準的像素時停止。但常用的基于灰度、紋理、彩色的準則大都基于圖像中的局部性質,并沒有充分考慮生長的“歷史”。為增加區(qū)域生長的能力需考慮一些于尺寸、形狀等圖像和目標的全局性質有關的準則。在這種情況下常需對分割結果建立一定的模型或輔以一定的先驗知識。 (A) (B) (C) (D)圖2-12 區(qū)域生長示例2.3.2 生長準則和過程 區(qū)域生長的一個關鍵是選擇合適的生長或相似準則,大部分區(qū)域生長準則使用圖像的局部性質。生長準則可根據(jù)不同原則制定,而使用不同的生長準則會影響區(qū)域生長的過程。下面介紹3種基本的生長準則和方法。(1) 灰度差準則區(qū)域生長方法將圖像的像素為基本單位來進行操作,基本的區(qū)域灰度差方法主要有如下步驟:對圖像進行逐步掃描,找出尚沒有歸屬的像素;以該像素為中心檢查它的鄰域像素,將鄰域中的像素逐個與它比較,如果灰度差小于預先確定的值,將它們合并;以新合并的像素為中心,返回到步驟,檢查新像素的鄰域,直到區(qū)域能進一步擴張;返回到步驟,繼續(xù)掃描直到不能發(fā)現(xiàn)沒有歸屬的像素,則結束整個生長過程。采用上述方法得到的結果對區(qū)域生長起點的選擇有較大依賴性。為克服這個問題可采用下面的改進方法:設灰度差的閾值為零,用上述方法進行區(qū)域擴張,使灰度相同像素合并;求出所有鄰接區(qū)域之間的平均灰度差,并合并具有最小灰度差的鄰接區(qū)域;設定終止準則,通過反復進行上述步驟中的操作將區(qū)域依次合并直到終止準則滿足為止。另外,當圖像中存在緩慢變化的區(qū)域時,上述方法有能會將不同區(qū)域逐步合并而產(chǎn)生錯誤。為克服這個問題,可不用新像素的灰度值去與鄰域像素灰度值比較,而用新像素所在區(qū)域的平均灰度值去與各鄰域像素的灰度值進行比較。 對一個含N個像素的圖像區(qū)域R,均值為: 其對像素是否合并的比較測試表示為:其中T為給定的閾值。區(qū)域生長的過程中,要求圖像的同一區(qū)域的灰度值變化盡可能小,而不同的區(qū)域之間,灰度差盡可能大。下面分兩種情況進行討論:1) 設區(qū)域為均勻的,各像素灰度值為m與一個零均值高斯噪音的疊加。當測試某個像素是否合并時,條件不成立的概率為:這就是誤差概率函數(shù),當T取3倍的方差時,誤判概率為1-99.7%。這表明,當考慮灰度均值時,區(qū)域內的灰度變化應盡量小。2) 設區(qū)域為非均勻,且由兩部分不同目標的圖像像素構成。這兩部分像素在R中所占比例分別為和,灰度值分別為和,則區(qū)域均值為+。對灰度值為m的像素,它與區(qū)域均值的差為: 可知正確的判決概率為:這表明,當考慮灰度均值時,不同部分像素間的灰度差距應盡量大。(2) 灰度分布統(tǒng)計準則這里考慮以灰度分布相似性作為生長準則來決定區(qū)域的合并,具體步驟為: 把圖像分成互不重疊的小區(qū)域; 比較鄰接區(qū)域的累積灰度直方圖根據(jù)灰度分布的相似性進行區(qū)域合并; 設定終止準則,通過反復進行步驟中的操作將各個區(qū)域依次合并直到終止準則滿足。這里對灰度分布的相似性常用兩種方法檢測(設,(分別為兩鄰接區(qū)域的累積灰度直方圖): Kolmogorov-Smirnov檢測: Smoothed-Difference檢測: 如果檢測結果小于給定的閾值,即將兩區(qū)域合并。 采用灰度分布相似合并法生成區(qū)域的效果與微區(qū)域的大小和閾值的選取關系密切,一般說來微區(qū)域太大,會造成因過渡合并而漏分區(qū)域:反之,則因合并不足而割斷區(qū)域。而且,圖像的復雜程度,原圖像生成狀況的不同,對上述參數(shù)的選擇有很大影響。通常,微區(qū)域大小q和閾值T由特定條件下的區(qū)域生成效果確定。(3) 區(qū)域形狀準則在決定對區(qū)域的合并時也可以利用對目標形狀的檢測結果,常用的方法有兩種:把圖像分割成灰度固定的區(qū)域,設兩鄰區(qū)域的周長分別為和,把兩區(qū)域共同邊界線兩側灰度差小于給定值的那部分長度設為L,如果(,為預定閾值):則合并兩區(qū)域; 把圖像分割成灰度固定的區(qū)域,設兩鄰接區(qū)域的共同邊界長度為B,把兩區(qū)域共同邊界線兩側灰度差小于給定值的那部分長度設為L,如果(為預定閾值) 則合并兩區(qū)域。上述兩種方法的區(qū)別是:第一種方法是合并兩鄰區(qū)域的共同邊界中對比度較低部分占整個區(qū)域邊界份額較大的區(qū)域,而第二種方法則是合并兩鄰接區(qū)域的共同邊界中對比度較低部分比較多的區(qū)域。2.3.3 分裂合并 上面介紹的區(qū)域生長方法是先從單個種子像素開始通過不斷接納新像素最后得到整個區(qū)域。另一種分割的想法可以是先從整幅圖像開始通過不斷分裂得到各個區(qū)域。實際中常先把圖像分成任意大小不斷重疊的區(qū)域,然后再合并或分裂這些區(qū)域以滿足分割的要求。(a) 四叉樹分裂R R1R4R3R2 R14R13R12R11 圖2-13 圖像的四叉樹分解示意圖在這類方法中,最常見的方法四叉樹分解法。設R代表整個正方形圖像區(qū)域圖所示,P代表邏輯謂詞。從最高層開始,把R連續(xù)地分裂成越來越小的1/4的正方形子區(qū)域,并且始終使。換句話說,如果.那么就將圖像分為4等分。如此類推,直到為單個