版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)設(shè)計</b></p><p><b> ?。?0 屆)</b></p><p> 彩色圖像快速分割方法研究</p><p> 所在學(xué)院 </p><p> 專業(yè)班級 電子信息工程
2、 </p><p> 學(xué)生姓名 學(xué)號 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p
3、><p> 圖像分割是一種重要的圖像技術(shù),不論是在理論研究還是實際應(yīng)用中都得到了人們的廣泛重視。圖像分割是我們進行圖像理解的基礎(chǔ),是圖像處理中的難點之一,也是計算機視覺領(lǐng)域的一個重要研究內(nèi)容。</p><p> 目前,圖像分割的主要方法有:基于區(qū)域生長的圖像分割方法、基于邊緣檢測的圖像分割算法、基于統(tǒng)計學(xué)理論的圖像分割方法、基于模糊集合理論的圖像分割方法以及基于小波變換法等多種方法。其中,
4、基于JSEG的彩色圖像分割算法受到了廣泛的關(guān)注,該算法是一種基于區(qū)域生長的圖像分割算法。它同時考慮了圖像的顏色信息和紋理信息,分割結(jié)果較為準確。但是,JSEG算法要在多個尺度下反復(fù)進行局部J值計算和區(qū)域生長,同時還要進行基于顏色直方圖的區(qū)域合并,這樣,該算法就顯得更為繁瑣、復(fù)雜。</p><p> 本文主要研究一種基于JSEG的改進彩色圖像分割算法。這種算法在計算得到J圖后,引入了分水嶺算法直接對J圖進行空域分
5、割,然后通過形態(tài)后處理完成分割過程。通過實驗證明,基于JSEG的改進彩色圖像分割算法與原JSEG算法相比,能夠得到良好的分割效果,并且有效的降低了JSEG算法的復(fù)雜度,提高了彩色圖像的分割效率。</p><p> 關(guān)鍵詞:圖像分割;JSEG算法;局部J值;區(qū)域生長;區(qū)域合并;分水嶺算法 </p><p><b> Abstract</b></p>&
6、lt;p> Image segmentation is an important image technology, whether in theory or in practical application have been people’s extensive attention. Image segmentation is the foundation of our understanding of image, als
7、o is one of the difficulties in image processing, and is an important part of computer vision. </p><p> At present, the main methods of image segmentation have: a method based on regional growth, a method b
8、ased on edge detection, a method based on statistics theory, a method based on wavelet transform, a method based on fuzzy set theory and so on. Among these, JSEG algorithm is a method of image segmentation based on regio
9、nal growth. It considers the color of the image and the texture information, with more accurate segmentation result. So it has received widespread concern. But JSEG algorithm has</p><p> In this paper, we m
10、ainly study a color image segmentation algorithm based on improved JSEG. The new algorithm segments the airspace after calculating image J by means of introducing the watershed algorithm, and then finishes the segmentati
11、on by form processing. The experiment shows that, compared with the original JSEG algorithm, the color image segmentation algorithm based on improved JSEG has better segmentation results, reduces the JSEG algorithm’s com
12、plexity effectively, and improves the eff</p><p> Key Words: image segmentation; JSEG algorithm; local J value; regional growth; regional merger; watershed algorithm</p><p><b> 目 錄</
13、b></p><p><b> 1 引言1</b></p><p> 2 圖像分割方法2</p><p> 2.1 圖像分割的基本內(nèi)容2</p><p> 2.2 彩色圖像分割方法2</p><p> 2.2.1 基于3D直方圖的彩色圖像分割方法2</p>
14、<p> 2.2.2 K值聚類彩色圖像分割方法3</p><p> 2.2.3 快速FCM彩色圖像分割方法3</p><p> 3 基于JSEG的彩色圖像分割算法5</p><p> 3.1 基于JSEG的彩色圖像分割算法的流程5</p><p> 3.2 基于JSEG的彩色圖像分割算法的缺點7</p&
15、gt;<p> 4 基于JSEG的改進彩色圖像分割算法8</p><p> 4.1 分水嶺算法8</p><p> 4.2 基于JSEG的改進彩色圖像分割算法的流程9</p><p> 4.3 基于JSEG的改進彩色圖像分割算法的缺點11</p><p> 5 實驗結(jié)果與分析12</p><
16、;p><b> 6 結(jié)論14</b></p><p> 致 謝錯誤!未定義書簽。</p><p><b> 參考文獻15</b></p><p> 附錄1:主要程序17</p><p> 附錄2:科研論文32</p><p><b>
17、1 引言</b></p><p> 圖像分割是一種重要的圖像技術(shù),不論是在理論研究還是實際應(yīng)用中都得到了人們的廣泛重視。圖像分割是我們進行圖像理解的基礎(chǔ),是圖像處理中的難點之一,也是計算機視覺領(lǐng)域的一個重要研究內(nèi)容。把圖像劃分為若干個有意義的區(qū)域的技術(shù)就是圖像分割技術(shù),被劃分開的這些區(qū)域相互不相交,而且每個區(qū)域也必須滿足特定區(qū)域的一致性條件[1]。</p><p> 彩色圖
18、像反映了物體的顏色信息,比灰度圖像提供的信息更多,因此,彩色圖像的分割得到了越來越多人的關(guān)注,彩色圖像分割方法的研究具有很大的價值。彩色圖像分割一直是彩色圖像處理中一個很重要的問題,它可以看作是灰度圖像分割技術(shù)在各種顏色空間上的應(yīng)用。</p><p> 目前,圖像分割的主要方法有:基于區(qū)域生長的圖像分割方法、基于邊緣檢測的圖像分割算法、基于統(tǒng)計學(xué)理論的圖像分割方法、基于模糊集合理論的圖像分割方法以及基于小波變換
19、法等多種方法。彩色圖像比灰度圖像的顏色信息多,在分割方法上面也會有所區(qū)別。目前,我們已經(jīng)知道的彩色圖像的分割方法也有多種分類,分類如下:基于直方圖的分割方法(閾值分割、聚類等)、基于鄰域的分割方法(邊緣檢測、區(qū)域增長等)、基于物理性質(zhì)的分割方法(利用光照特性和物體表面特征等)[2]。其中,基于JSEG的彩色圖像分割算法受到了廣泛的關(guān)注,該算法是一種基于區(qū)域生長的圖像分割算法。它同時考慮了圖像的顏色信息和紋理信息,分割結(jié)果較為準確。但是這
20、種算法要在多個尺度下反復(fù)計算局部J值,并且進行區(qū)域生長,同時還要進行基于顏色直方圖的區(qū)域合并,這樣,該算法就顯得更為繁瑣、復(fù)雜。本文是對基于JSEG的改進彩色圖像分割算法的研究,該算法在原JSEG算法的基礎(chǔ)上,通過引入了分水嶺算法直接對J圖進行空域分割,然后通過形態(tài)后處理完成整個分割過程。該算法降低了原算法的計算量,降低了圖像分割的計算時間,從而有效的降低了原JSEG算法的復(fù)雜度,提高了圖像分割的</p><p>
21、;<b> 2 圖像分割方法</b></p><p> 2.1 圖像分割的基本內(nèi)容</p><p> 圖像分割在理論研究與實際應(yīng)用中都得到了人們的廣泛重視,它是一種重要的圖像處理技術(shù)。圖像分割是指將圖像中具有特殊意義的不同區(qū)域分開來,并使這些區(qū)域相互不相交,并且每個區(qū)域都要滿足特定區(qū)域的一致性條件[1]。圖像分割是我們進行圖像理解的基礎(chǔ),也是我們進行圖像分析的關(guān)
22、鍵步驟,同時也是我們進行圖像處理的重要手段。</p><p> 2.2 彩色圖像分割方法</p><p> 目前,國內(nèi)外有很多學(xué)者都在研究彩色圖像的分割方法,我們已經(jīng)知道的彩色圖像的分割方法也有多種分類,大致可以分為3類:基于直方圖的分割方法(閾值分割、聚類等)、基于鄰域的分割方法(邊緣檢測、區(qū)域增長等)、基于物理性質(zhì)的分割方法(利用光照特性和物體表面特征等)[2]。每種不同的類型中也
23、有多種具體的彩色圖像的分割方法。</p><p> 2.2.1 基于3D直方圖的彩色圖像分割方法</p><p> 在圖形中,我們可以從一堆雜亂的離散數(shù)據(jù)中觀察到數(shù)據(jù)間的內(nèi)在關(guān)系,了解圖形傳遞的內(nèi)在本質(zhì)。雖然我們的視覺角度可以很容易的觀察到3D直方圖中像素的聚類情況,但是這一人類視覺處理的理論基礎(chǔ)還不明了,人類的視覺感知的模式還是很難應(yīng)用于機器視覺。近年來,隨著神經(jīng)生理學(xué)的發(fā)展和計算
24、機輔助解剖學(xué)的研究,提出了幾個相當精確地初級視覺系統(tǒng)的計算模型[2]。</p><p> 真彩色圖像的3D直方圖是一種可視化數(shù)據(jù)圖,我們可以從中觀察到像素在3D顏色空間的聚類特性。基于3D直方圖生長法和尺度空間聚類法是以閾值分割技術(shù)為基礎(chǔ)的,利用真彩色圖像像素在3D空間呈現(xiàn)的聚類特性,通過多維閾值分割(MDT)法與3D直方圖生長法以及尺度空間聚類法的相結(jié)合,這樣能夠克服過度分割的現(xiàn)象,取得較為理想的分割效果。&
25、lt;/p><p> 2.2.2 值聚類彩色圖像分割方法</p><p> 1967年,MacQuen首次提出均值聚類算法。該算法是解決聚類問題的一種經(jīng)典算法。均值算法的基本思想:對于給定的聚類數(shù)目,首先隨機選擇個對象,每個對象初始的代表一個聚類的平均值或中心。根據(jù)剩余的每個對象與各個聚類中心的距離,把剩余的每個對象都賦給最近的聚類。然后重新計算每個聚類的平均值,比較數(shù)據(jù)庫中的每個對象與
26、每個聚類的平均值,把對象賦給最相似的聚類。重復(fù)執(zhí)行這個過程,直到準則函數(shù)收斂,平方誤差函數(shù)值達到最小[3,4]。</p><p> 初始聚類中心的選取是均值聚類算法中最重要的一步,一般是隨機選取個待聚類樣本集的樣本。初始聚類中心的選取與聚類的性能有關(guān),樣本的位置對聚類的結(jié)果有很大的影響。如果選取的個樣本不合理,就會增加運算的復(fù)雜性,誤導(dǎo)聚類過程,得到不合理的聚類結(jié)果[3]。</p><p&g
27、t; 以往的一些均值聚類和模糊均值聚類圖像分割算法直接針對圖像的像素集合進行聚類,導(dǎo)致了巨大的計算量,消耗了大量的計算時間。為了解決這一問題,我們把灰度圖像像素空間映射到其灰度直方圖特征空間中,從而把針對像素集合進行的聚類映射成針對灰度集合進行的聚類,這樣就大大提高了灰度圖像的分割速度[3]。在實際的應(yīng)用中,許多圖像處理的對象是彩色圖像,彩色像素為R、G、B三個分量,不能直接應(yīng)用均值或模糊均值聚類圖像分割算法來處理彩色圖像。日本學(xué)者O
28、hta等人進行了大量的彩色圖像區(qū)域分割的實驗,得到了一個適合進行彩色圖像分割的彩色特征集[3]:</p><p><b> ?。?-1)</b></p><p> 他們通過這個實驗證明,僅使用分量就可以進行彩色圖像分割。改進后的均值聚類算法計算量小,運算速度快,可以有效的提高圖像的分割質(zhì)量。</p><p> 2.2.3 快速FCM彩色圖像
29、分割方法</p><p> 模糊均值聚類算法[5,6]()廣泛應(yīng)用于彩色圖像分割,具有簡單直觀、易于實現(xiàn)的特點,但是該算法需要先指定聚類數(shù)目、計算量大、耗時長且易陷入局部最優(yōu)等缺點。為此,在傳統(tǒng)的算法的基礎(chǔ)上,提出了一種自適應(yīng)快速彩色圖像分割算法[7]。這種算法將蟻群算法、分水嶺算法與傳統(tǒng)算法結(jié)合,同時還引入了特征距離。</p><p> 自適應(yīng)快速算法內(nèi)容[7]主要包括:</p
30、><p> ?。?)以特征距離作為表征待聚類樣本間差異的測度。</p><p> ?。?)將彩色空間轉(zhuǎn)換為空間,由于彩色空間R、G、B的高相關(guān)性,不適合彩色圖像的分割。</p><p> (3)利用蟻群算法得到初始聚類中心和聚類數(shù)目。根據(jù)聚類中心的信息量把周圍數(shù)據(jù)歸在一起來得到聚類結(jié)果的方法就是蟻群聚類。</p><p> ?。?)對基于梯度的
31、分水嶺預(yù)分割結(jié)果進行快速模糊聚類。</p><p> 該算法不需要事先確定聚類數(shù)目,并且在優(yōu)化聚類性能不變的前提下,大大提高了聚類速度,實現(xiàn)了圖像的快速分割。</p><p> 3 基于JSEG的彩色圖像分割算法</p><p> 基于JSEG的彩色圖像分割算法是一種基于區(qū)域生長的圖像分割方法。它同時考慮了圖像的顏色信息和紋理信息,分割結(jié)果較好,具有良好的魯棒
32、性,得到了廣泛的應(yīng)用。</p><p> 3.1 基于JSEG的彩色圖像分割算法的流程</p><p> 基于JSEG的彩色圖像分割算法同時考慮了圖像的顏色信息和空間信息,該方法主要是通過測試一個給定顏色紋理模板的同質(zhì)性來完成對圖像的分割[8]。</p><p> 基于JSEG的彩色圖像分割算法過程主要包括顏色的量化以及空間的分割。</p>&l
33、t;p> (1)顏色量化。顏色量化的目的是為了減少原始彩色圖像的顏色數(shù)量,降低算法的復(fù)雜度。量化時通常是提取10~20種具有代表性的顏色,在分割時只對這些顏色進行處理[9],這樣就降低了計算量。量化的主要步驟包括:</p><p> ?、賹⒃瓐D像轉(zhuǎn)化成LUV顏色空間;</p><p> ?、谟梅蔷€性算法同組濾波器PGF進行平滑去噪,去除顆粒噪聲,保留圖像邊緣信息;</p>
34、;<p> ?、弁ㄟ^GLA算法對像素進行聚類,得到類圖[10]。</p><p> 類圖是一種特殊類型的灰度圖像。在類圖中,像素值不是顏色值,而是量化后的顏色類別標號。類圖中用不同的符號來表示不同的顏色類別。</p><p> ?。?)空間分割。量化后進行空間分割,基于JSEG的彩色圖像分割算法的空間分割并不是直接對類圖進行的,而是對J圖進行空間分割的。在J圖中,我們需要計
35、算像素位置的局部J值來表示該像素的像素值。像素的局部J值計算過程如下:</p><p><b> ?。?-1)</b></p><p><b> 其中,</b></p><p><b> (3-2)</b></p><p><b> ?。?-3)</b>
36、;</p><p><b> (3-4)</b></p><p><b> ?。?-5)</b></p><p> 其中,表示局部窗口,表示窗口內(nèi)的顏色數(shù)量, 表示窗口內(nèi)的像素集合,表示窗口內(nèi)的像素集合的大小, 表示第類的像素集合,表示第類像素集合的大小,和分別表示和內(nèi)像素位置均值。 </p><p
37、> 基于JSEG的彩色圖像分割算法是基于J值進行區(qū)域分割的,所以J值的分布會直接影響圖像分割結(jié)果。如果選擇的窗口較大,計算出的局部J值分布會比較均勻,分割的區(qū)域也比較完整,但是區(qū)域邊界可能會出現(xiàn)過分割現(xiàn)象,那么得到的邊界就不夠準確。相反,就會得到精確的邊界,但是可能會出現(xiàn)區(qū)域過分割現(xiàn)象。所以,JSEG算法要在多個窗口尺度下反復(fù)計算局部J值,并進行區(qū)域生長,這樣才能得到較準確的分割結(jié)果。</p><p>
38、 計算得到J值后,要進行種子選擇以及區(qū)域生長。選擇計算J值的窗口后,根據(jù)閾值計算公式[8]</p><p><b> (3-6)</b></p><p> 為非種子區(qū)域像素的J均值,為非種子區(qū)域像素的J方差,為描述圖像復(fù)雜度的參數(shù),計算出后,把小于的像素歸為候選種子點。一般來說,種子區(qū)域是候選種子點的區(qū)域大于相應(yīng)等級中最小區(qū)域的種子數(shù)的閾值區(qū)域,其余的為非種子區(qū)域
39、[8]。在種子區(qū)域中,計算得到未合并區(qū)域的平均J值,小于平均J值的像素就連接到生長區(qū)域中。如果像素與增長區(qū)域相鄰的只有1個種子區(qū),就把該像素放入到該種子區(qū)域中。然后選擇更小等級的窗口來計算J值,重復(fù)以上步驟,直到最小等級的窗口。</p><p> 空間分割完成之后,要進行區(qū)域合并。先將顏色直方圖距離最小的2個相鄰區(qū)域合并,直到所有相鄰區(qū)域的距離都大于預(yù)設(shè)的區(qū)域合并的閾值,這樣就完成了圖像的整個分割過程。<
40、/p><p> 3.2 基于JSEG的彩色圖像分割算法的缺點</p><p> 基于JSEG的彩色圖像分割算法同時考慮了圖像的顏色信息和紋理信息,分割結(jié)果較好,具有良好的魯棒性。但是在分割的過程中,我們要選擇多個窗口尺度,并反復(fù)進行局部J值的計算以及區(qū)域生長,同時還要進行基于顏色直方圖的區(qū)域合并,這樣就導(dǎo)致了計算的復(fù)雜度,整個分割過程也就顯得比較繁瑣,計算量大,算法的復(fù)雜度也高,消耗的時間
41、也比較長。</p><p> 4 基于JSEG的改進彩色圖像分割算法</p><p> 針對基于JSEG的彩色圖像分割算法的不足,本文主要研究一種基于JSEG的改進彩色圖像分割算法。該算法取消了原算法的循環(huán)迭代過程,在計算得到J圖后,不需要進行種子選擇以及區(qū)域增長的過程,直接引入了分水嶺算法對J圖進行空間分割,并且通過形態(tài)后處理來完成整個分割的過程。</p><p&
42、gt;<b> 4.1 分水嶺算法</b></p><p> 分水嶺算法是一種經(jīng)典的從數(shù)學(xué)形態(tài)學(xué)上發(fā)展而來的基于區(qū)域的圖像分割算法,它主要是借助于地形學(xué)的概念,將圖像中每一個像素值都看成海拔高度,分水嶺分割的過程就是自底向上逐漸淹沒該地形圖的過程[11-14]。該算法的主要過程如下:</p><p> ?。?)對原圖求梯度圖像。因為彩色圖像進行分水嶺算法時,使用梯
43、度圖像比使用原圖的效果好。</p><p> ?。?)根據(jù)梯度圖像中的像素灰度最大值與最小值,確定一個灰度尺度。從最小灰度的像素開始,把像素差值小于等于灰度尺度的所有像素歸為一個等級,這樣梯度圖像就被劃分為一定數(shù)量的等級。</p><p> ?。?)給各個等級中的所有像素分配標號。先取出第一個等級中的所有像素,給每個像素按如下規(guī)則分配標號:相鄰的像素點分配相同的標號,孤立的像素點分配獨立的
44、標號。然后把下一個等級中的所有像素點取出來,此時像素的鄰域內(nèi)除水線標號外,如果存在已經(jīng)分配了標號的像素,并且標號相同,就賦予該像素相同的標號;如果標號不同,就賦予該像素一個特殊的標號,稱為水線;如果不存在已經(jīng)分配了標號的像素,就賦予該像素一個新的標號,表示是一個新的區(qū)域。重復(fù)這些步驟,直到所有等級中的所有像素都被分配了標號。</p><p> (4)把標號相同的所有像素歸于同一個區(qū)域,檢查圖像分割后每個區(qū)域的大
45、小。如果其中某個區(qū)域的像素少于區(qū)域的臨界尺寸,就撤銷該區(qū)域內(nèi)所有像素的標號,重新給每個像素分配標號。這里區(qū)域的臨界尺寸是由圖像的尺寸大小確定的。</p><p> (5)重復(fù)步驟3、步驟4,直到圖像中的所有像素都分配了標號,并且不存在小于臨界尺寸的區(qū)域。</p><p> 分水嶺算法具有很好的魯棒性,在圖像分割中得到了廣泛的應(yīng)用,分割后的圖像能夠很好的反映圖像的輪廓和邊界。</p
46、><p> 4.2 基于JSEG的改進彩色圖像分割算法的流程</p><p> 基于JSEG的改進彩色圖像分割算法的主要步驟如圖4-1,包括:</p><p> (1)對原始圖像進行顏色量化從而得到原始類圖。量化的具體步驟在第3章中已經(jīng)做了介紹。</p><p> ?。?)空間分割不是直接對類圖進行的,要先基于類圖計算得到J圖。如果只在一個
47、尺度下計算J值,尺度較小時容易出現(xiàn)過分割的現(xiàn)象,而在尺度較大時分割的邊界就不夠精確了。因此,基于JSEG的改進彩色圖像分割算法要在1~2個尺度下進行局部J值的計算,然后求其平均值來作為待分割的J圖,這樣分割結(jié)果會比較理想。</p><p> (2)接下來就可以對J圖進行區(qū)域分割了。在這個過程中,取消了原JSEG算法的基于種子選擇和區(qū)域生長的過程,而是采用了改進的分水嶺算法。分水嶺算法的詳細步驟在4.1中介紹過。
48、在這里我們可以把J圖像看作是灰度圖像,那么J值就是灰度值。</p><p> (3)分水嶺分割后得到的圖像一般會存在過分割的現(xiàn)象,這就要我們進行區(qū)域融合和合并。首先采用的是JSEG本身的合并方法來進行初步合并,先將顏色直方圖距離最小的2個相鄰區(qū)域合并,直到所有相鄰區(qū)域的距離都大于預(yù)設(shè)的區(qū)域合并的閾值。如果還是存在個別的過分割現(xiàn)象,就要分析比較每個區(qū)域的大小,如果該區(qū)域滿足以下條件:</p><
49、;p><b> (4-1)</b></p><p> 那么當前的區(qū)域就可以融合到臨近區(qū)域。其中,表示的是選用的尺度序號,表示的是相應(yīng)尺度下的最小區(qū)域的大小,表示的是進行初步融合后的區(qū)域數(shù)量。這樣就完成了區(qū)域融合和合并的過程。</p><p> ?。?)完成圖像的區(qū)域融合和合并過程后,還需要對合并后的圖像進行形態(tài)學(xué)處理,主要就是噪聲的孤立和邊界的平滑。數(shù)學(xué)形態(tài)
50、學(xué)是一門建立在集合論基礎(chǔ)上的學(xué)科,它的基本思想是用一定形態(tài)的結(jié)構(gòu)元素去度量和提取圖像中的對應(yīng)形狀,進行圖像分析和識別。在數(shù)學(xué)形態(tài)學(xué)中,圖像目標是用集合來描述的,它描述了圖像各部分之間的關(guān)系,說明目標的結(jié)構(gòu)特點。這里采用了形態(tài)開、閉級聯(lián)組合形式來進行處理,這樣可以同時起到消峰填谷的作用。為形態(tài)開運算運算符,為形態(tài)閉運算運算符,那么形態(tài)開運算和閉運算的定義如下:</p><p><b> ?。?-2)<
51、;/b></p><p><b> ?。?-3)</b></p><p><b> ?。?-4)</b></p><p><b> (4-5)</b></p><p> 其中,合并與融合的圖像,為結(jié)構(gòu)元素,為圖像的定義域,為形態(tài)膨脹運算,為形態(tài)腐蝕運算。</p&
52、gt;<p> 圖4-1 基于JSEG的改進圖像分割算法流程圖</p><p> 4.3 基于JSEG的改進彩色圖像分割算法的缺點</p><p> 基于JSEG的改進彩色圖像的分割算法通過引入了分水嶺算法直接對J圖進行空間分割,取消了原JSEG算法的局部J值計算、種子選擇和區(qū)域生長等復(fù)雜的循環(huán)迭代過程,有效的降低了原JSEG算法的復(fù)雜度,降低了算法的計算量,從而降低了
53、算法的分割時間,。但該算法進行分割后的區(qū)域邊界不夠精確,魯棒性不夠高。同時,由于彩色圖像本身的復(fù)雜性,使我們要獲得各種不同類型圖像的良好的分割結(jié)果還非常困難。</p><p><b> 5 實驗結(jié)果與分析</b></p><p> 為了驗證基于JSEG的改進彩色圖像分割算法的有效性,本實驗采用了VC6.0軟件平臺,對部分彩色圖像進行了實驗仿真,所有測試圖片均來源于
54、網(wǎng)絡(luò)。圖5-1,5-2,5-3,5-4給出了部分的實驗結(jié)果。從以下得到的部分彩色圖像分割結(jié)果中,我們可以看出,與原JSEG算法相比較,基于JSEG的改進彩色圖像分割算法得到的分割邊界不夠準確,在邊緣提取方面還有待于改進,另外圖像的分割效果也不是很理想。</p><p> ?。╝)原圖像 (b)JSEG算法結(jié)果 (c)改進算法結(jié)果</p><p>
55、 圖 5-1 部分圖像分割結(jié)果</p><p> ?。╝)原圖像 (b)JSEG算法結(jié)果 (c)改進算法結(jié)果</p><p> 圖 5-2 部分圖像分割結(jié)果</p><p> ?。╝)原圖像 (b)JSEG算法結(jié)果 (c)改進算法結(jié)果</p><p>
56、圖 5-3 部分圖像分割結(jié)果</p><p> (a)原圖像 (b)JSEG算法結(jié)果 (c)改進算法結(jié)果</p><p> 圖 5-4 部分圖像分割結(jié)果</p><p> 以下表5-1給出了JSEG算法以及JSEG改進算法的分割時間,通過比較我們可以得到,JSEG改進算法有效的降低了計算時間,降低了算法的計算復(fù)雜度
57、,提高了圖像的分割效率。</p><p> 表5-1 JSEG算法和改進算法分割時間對比結(jié)果(單位:s)</p><p><b> 6 結(jié)論</b></p><p> 當前對彩色圖像分割還面臨著諸多問題,比如顏色空間的選擇以及分割方法的選擇,這些都還需要進一步的研究實現(xiàn)。</p><p> 本文主要是對基于JS
58、EG的改進彩色圖像分割算法的研究,我們通過實驗驗證了該算法的有效性。該算法在計算得到J值后,引入了分水嶺算法,直接對J圖進行空間分割,然后進行形態(tài)后處理,取消了原來的循環(huán)迭代過程,有效的降低了算法的復(fù)雜度,降低了算法的計算時間,提高了圖像的分割效率,得到了比較好的分割結(jié)果。但是由于彩色圖像的復(fù)雜性,基于JSEG的改進彩色圖像分割算法得到的圖像分割邊界不夠準確,分割效果也不是很理想。</p><p> 隨著技術(shù)的
59、發(fā)展以及各種新技術(shù)的應(yīng)用,出現(xiàn)了許多的彩色圖像分割算法以及改進的彩色圖像分割算法,使得彩色圖像分割結(jié)果更加理想,大大提高了彩色圖像的分割質(zhì)量。目前,國內(nèi)外很多學(xué)者都在研究彩色圖像的分割方法,也提出了許多有價值的彩色圖像分割算法及改進的彩色圖像分割算法,通過一些算法的合并使用,使得彩色圖像的分割結(jié)果更加理想了。但是,從目前對彩色圖像的研究現(xiàn)狀來看,由于應(yīng)用領(lǐng)域的不同、圖像質(zhì)量的差別以及圖像色彩的分布等一些客觀因素引起的差異,我們還不能找到
60、一種能夠完全適用于所有彩色圖像分割的通用的算法。因此,彩色圖像的分割方法仍是一個尚未解決的難題,還是需要圖像處理領(lǐng)域的研究人員進一步的研究和探索。</p><p><b> 參考文獻</b></p><p> [1] 孫挺, 王新社等. 一個有效的彩色圖像分割方法[J]. 微電子學(xué)與計算機, 2009, 26(3): 232~235.</p><
61、;p> [2] 潘晨, 顧峰. 基于3D直方圖的彩色圖像分割方法[J]. 中國圖象圖形學(xué)報, 2002, 7(8): 801~805.</p><p> [3] 王慧, 申石磊. 基于改進的K均值聚類彩色圖像分割方法[J]. 電腦知識與技術(shù), 2010, 6(4): 962~964.</p><p> [4] Tu Sheng-xian, Zhang Su etal. A Bi
62、ntree Energy Approach for Colour Image Segmentation Using Adaptive Channel Selection[J]. J.Shanghai Jiaotong Univ.(Sci.), 2008, 13(1): 52~59</p><p> [5] 林開顏, 徐立鴻等. 快速模糊C 均值聚類彩色圖像分割方法[J]. 中國圖象圖形學(xué)報, 2004, 9(2
63、): 159~163.</p><p> [6] 杜海順, 汪鳳泉. 一種快速的模糊C均值聚類彩色圖像分割方法[J]. 計算機工程與應(yīng)用2009, 45(33): 138~140.</p><p> [7] 陳驥思, 余艷梅等. 自適應(yīng)快速FCM 彩色圖像分割研究[J]. 計算機工程與應(yīng)用, 2010, 46(7): 178~180.</p><p> [8]
64、 李鵬飛, 王剛等. 基于JSEG算法的紡織品印花圖像分割[J]. 紡織學(xué)報, 2010, 31(5): 137~140.</p><p> [9] 孫衛(wèi)芳, 段智勇, 朱仲杰. 結(jié)合JSEG與分水嶺方法的彩色圖像分割[J]. 計算機工程與應(yīng)用, 2010,46(21): 185~187.</p><p> [10] Deng Yi-ning, Kermery C, Moore M S
65、, et al. Peer group filtering and perceptual color image quantization[C]//IEEE International Symoposium on Circuits and System, 1999: 21~24.</p><p> [11] 冉玉梅, 王洪國等. 基于自適應(yīng)局部閾值的彩色圖像分割[J]. 計算機與現(xiàn)代化, 2010, (1):
66、109~112.</p><p> [12] 徐秋平, 郭敏等. 基于分水嶺變換和圖割的彩色圖像快速分割[J]. 計算機工程, 2009, 35(19): 210~212.</p><p> [13] 楊衛(wèi)莉, 郭雷等. 基于分水嶺變換和蟻群聚類的圖像分割[J]. 量子電子學(xué)報, 2008, 25(1): 19~24.</p><p> [14] 朱仲杰, 蔣
67、剛毅等. 一種基于時空信息的運動目標提取新算法[J]. 中國圖象圖形學(xué)報, 2003, 8(4): 422~425.</p><p><b> 附錄1:主要程序</b></p><p> float TQUAN,displayintensity,threshcolor;</p><p> int proc_type,media_type,
68、rmap_type,NSCALE,NY,NX;</p><p> char *infname,*outfname,*rmapfname,*verbosefname;</p><p> int inimg_flag,type_flag,outimg_flag,outmap_flag,size_flag,verbose_flag;</p><p> void pr
69、ocess_image(void);</p><p> void parse_arg(int argc, char *argv[]);</p><p> void main (int argc, char *argv[])</p><p><b> {</b></p><p><b> int i=0;
70、</b></p><p> clock_t start,finish;</p><p> double time;</p><p> start=clock();</p><p> parse_arg(argc,argv);</p><p> if (media_type<20) proce
71、ss_image();</p><p> finish=clock();</p><p> time=(double)(finish-start)/CLOCKS_PER_SEC;</p><p> printf("運行時間:%fseconds\n",time); </p><p><b> }</b
72、></p><p> void process_image(void)</p><p><b> {</b></p><p> unsigned char *RGB,*cmap,*RGB2; //*RGB是原始圖像的RGB數(shù)據(jù),cmap是類圖</p><p> int dim,N,i,j,k,TR,imgs
73、ize,mapsize,l;//imgsize=ny*nx*dim,mapsize=ny*nx</p><p> float *LUV,**cb;// 由RGB轉(zhuǎn)化為LUV,cb是是二維質(zhì)心數(shù)組</p><p> char fname[200], exten[10]; //*exten是類型,比如,gif*/,fname,</p><p> unsigned
74、char *rmap;</p><p> unsigned char Fheadg[54];//char Pallette[1024];</p><p> switch (media_type)//處理類型 infname是處理圖像的名字</p><p><b> {</b></p><p> case I_YU
75、V:</p><p> sprintf(exten,"yuv");</p><p> dim = 3; imgsize = NY*NX*dim;</p><p> RGB = (unsigned char *)malloc(imgsize*sizeof(unsigned char));</p><p> input
76、imgyuv(infname,RGB,NY,NX);</p><p><b> break;</b></p><p> case I_RGB:</p><p> sprintf(exten,"rgb");</p><p> dim = 3; imgsize = NY*NX*dim;</p
77、><p> RGB = (unsigned char *)malloc(imgsize*sizeof(unsigned char));</p><p> inputimgraw(infname,RGB,&NY,&NX,Fheadg);</p><p><b> break;</b></p><p>
78、case I_GRAY:</p><p> sprintf(exten,"gray");</p><p> dim = 1; imgsize = NY*NX*dim;</p><p> RGB = (unsigned char *)malloc(imgsize*sizeof(unsigned char));</p><p
79、> inputimgraw(infname,RGB,&NY,&NX,Fheadg);</p><p><b> break;</b></p><p> case I_PPM:</p><p> sprintf(exten,"ppm");</p><p> inputim
80、gpm(infname,&RGB,&NY,&NX);</p><p> dim = 3; imgsize = NY*NX*dim;</p><p><b> break;</b></p><p> case I_PGM:</p><p> sprintf(exten,"pgm&q
81、uot;);</p><p> inputimgpm(infname,&RGB,&NY,&NX);</p><p> dim = 1; imgsize = NY*NX*dim;</p><p><b> break;</b></p><p> case I_JPG:</p>
82、<p> //sprintf(exten,"jpg");</p><p> //dim = inputimgjpg(infname,&RGB,&NY,&NX);</p><p> //imgsize = NY*NX*dim;</p><p><b> break;</b></p
83、><p> case I_GIF:</p><p> sprintf(exten,"gif");</p><p> dim = inputimggif(infname,&RGB,&NY,&NX);</p><p> imgsize = NY*NX*dim;</p><p>
84、;<b> break;</b></p><p><b> default:</b></p><p> printf("Unknown media type \n");</p><p> exit (-1);</p><p><b> }</b>&
85、lt;/p><p> mapsize = NY*NX;</p><p> switch (proc_type)</p><p><b> {</b></p><p> case P_SEG: case P_QUA:</p><p> cb = (float **)fmatrix(256,di
86、m);</p><p> LUV = (float *) malloc(imgsize*sizeof(float));</p><p> if (dim==3) rgb2luv(RGB,LUV,imgsize);</p><p> else if (dim==1) { for (l=0;l<imgsize;l++) LUV[l]=RGB[l]; }<
87、;/p><p> else { printf("don't know how to handle dim=%d\n",dim); exit(0); }</p><p><b> //量化</b></p><p> N=quantize(LUV,cb,1,NY,NX,dim,TQUAN);//N是量化后的顏色個數(shù)&l
88、t;/p><p> printf("N=%d\n",N);</p><p> cmap = (unsigned char *) calloc(mapsize,sizeof(unsigned char));</p><p> if (dim==3) rgb2luv(RGB,LUV,imgsize);////RGB轉(zhuǎn)化為LUV形式</p>
89、;<p> else if (dim==1) { for (l=0;l<imgsize;l++) LUV[l]=RGB[l]; }</p><p> getcmap(LUV,cmap,cb,mapsize,dim,N); //得到類圖cmap,是由量化后的顏色的標志位來表示的。</p><p> free_fmatrix(cb,256);</p>&
90、lt;p> free (LUV);</p><p> if (proc_type == P_QUA) { free(cmap); free(RGB); exit(0); }</p><p> //分割,關(guān)鍵是分割程序</p><p> rmap = (unsigned char *)calloc(NY*NX,sizeof(unsigned char))
91、;</p><p> TR = segment(rmap,cmap,N,1,NY,NX,RGB,verbosefname,exten,media_type,dim,NSCALE,</p><p> displayintensity,verbose_flag,1,Fheadg);</p><p> /*TR = merge(rmap,cmap,N,1,NY,NX
92、,TR,threshcolor,0); </p><p> printf("merge TR=%d\n",TR);*/</p><p> free(cmap);</p><p> /*if (outimg_flag)</p><p> outputEdge(outfname,exten,RGB,rmap,NY,NX
93、,-1,media_type,dim,displayintensity,Fheadg);</p><p> if (outmap_flag)</p><p><b> {</b></p><p> switch(rmap_type)</p><p><b> {</b></p>
94、<p> case I_RGB:</p><p> outputimgraw(rmapfname,rmap,NY,NX,Fheadg);</p><p><b> break;</b></p><p> case I_GIF:</p><p> outputimggif(rmapfname,rma
95、p,NY,NX,1);</p><p><b> break;</b></p><p><b> default:</b></p><p> printf("Unknown rmap type \n");</p><p> exit (-1);</p>&l
96、t;p><b> }</b></p><p><b> }*/</b></p><p> free(RGB);</p><p> free(rmap);</p><p><b> break;</b></p><p> segment.
97、c:</p><p><b> int MM=0;</b></p><p> unsigned char *rmap9;</p><p> char tmpfname[200];</p><p> int segment(unsigned char *rmap0,unsigned char *cmap,int N
98、,int nt,int ny,int nx,</p><p> unsigned char *RGB,char *outfname,char *exten,int type,int dim,int NSCALE,</p><p> float displayintensity,int verbose,int tt,unsigned char *Fheadg)</p>&l
99、t;p><b> {</b></p><p> int MINRSIZE[5];</p><p> int scale[5],offset[5],step[5],MAXSCALE,MINSCALE,*count,TR,i,j,k,l;</p><p> int oldTR,extraTR,*reg,*reg2,*convert,d
100、atasize,autoscale;</p><p> char fname[200];</p><p> short *rmap;</p><p> printf("start segmentation\n");</p><p> scale[0]=32; offset[0]=2; step[0]=1; &l
101、t;/p><p> scale[1]=64; offset[1]=4; step[1]=1;</p><p> scale[2]=128; offset[2]=8; step[2]=2;</p><p> scale[3]=256; offset[3]=16; step[3]=4;</p><p> scale[4]=512; of
102、fset[4]=32; step[4]=8;</p><p> for (i=4;i>=1;i--)</p><p><b> {</b></p><p> if (ny*nx>=sqr(scale[i])) { MAXSCALE=i; break; }</p><p><b> }<
103、/b></p><p> if (i==0) { printf("minimum image size 64x64\n"); return 0; }</p><p> if (nt==1)</p><p><b> {</b></p><p> for (i=0;i<=MAXSCA
104、LE;i++) MINRSIZE[i]=2.0*sqr(offset[i]);</p><p><b> }</b></p><p> datasize = nt*ny*nx;</p><p> rmap=(short *)calloc(datasize,sizeof(short));</p><p> for
105、(l=0;l<datasize;l++) rmap0[l]=1;</p><p><b> oldTR=1;</b></p><p> printf("i=%d",i);</p><p> for (l=0;l<datasize;l++) rmap[l]=0;</p><p> T
106、R=segment1(cmap,N,nt,ny,nx,offset,step,rmap,rmap0,oldTR,i,MINRSIZE[i],0,tt,RGB,outfname,exten,type,dim,NSCALE,displayintensity,verbose,Fheadg);</p><p> printf("TR=%d\n",TR);</p><p>
107、free(rmap);</p><p> return TR;</p><p><b> }</b></p><p> int segment1(unsigned char *cmap,int N,int nt,int ny,int nx,int *offset,int *step, </p><p> shor
108、t *rmap,unsigned char *rmap0,int oldTR,int i,float MINRSIZE,int redo,int tt,unsigned char *RGB,char *outfname,char *exten,int type,int dim,int NSCALE,</p><p> float displayintensity,int verbose,unsigned cha
109、r *Fheadg)//redo=0</p><p><b> {</b></p><p> float *J,*JT,**threshJ1,**threshJ2,*J1;</p><p> int j,TR,**done,alldone,datasize,it,imgsize,l,l1,l2,I,ix,iy,loc,loc1;</
110、p><p> int gg,m,m1;</p><p> int *JJ,tr,tr1,NUMBER,*JJ1;</p><p> int *OutSign,*OutBuf,*count;</p><p> unsigned char *Rmap,*Rmap1; </p><p> unsigned char
111、head[54]; char Pallette[1024];</p><p> unsigned char *img;</p><p> int B0[9]={0,1,0,1,1,1,0,1,0};</p><p> int B1[49]={0,0,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
112、1,1,1,1,1,0,0,1,1,1,0,0,0,1,1,1,1,1,0};</p><p> imgsize = ny*nx;</p><p> datasize = nt*ny*nx;</p><p> J = (float *)calloc(datasize,sizeof(float));</p><p> getJ(cmap
113、,N,ny,nx,J,offset[i-1],step[i-1],rmap,rmap0,oldTR);</p><p> JJ = (int *)calloc(datasize,sizeof(int));</p><p> OutSign = (int *)calloc(datasize,sizeof(int));</p><p> OutBuf = (int
114、 *)calloc(datasize,sizeof(int));</p><p> //JJ1 = (int *)calloc(datasize,sizeof(int));</p><p> J1 = (int *)calloc(datasize,sizeof(int));</p><p> getJ(cmap,N,ny,nx,J1,4,1,rmap,rmap
115、0,oldTR);</p><p> for(l=0;l<imgsize;l++)J[l]=(J[l]+J1[l])/2;</p><p> for(l=0;l<imgsize;l++){J[l]=round(J[l]*100); JJ[l]=(int)J[l];}//printf("%10d",JJ[l]);}</p><p>
116、 tr=Watershed(ny,nx,JJ,OutSign,OutBuf,&NUMBER);</p><p> Rmap = (unsigned char*)calloc(imgsize,sizeof(unsigned char));</p><p> for(l=0;l<datasize;l++)Rmap[l]=(unsigned char)OutBuf[l];&l
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 彩色圖像分割技術(shù)研究畢業(yè)論文
- 彩色圖像快速分割方法研究【開題報告】
- 彩色圖像快速分割方法研究【任務(wù)書】
- 畢業(yè)設(shè)計(論文)-彩色圖像分割技術(shù)研究
- 基于邊緣檢測的圖像分割方法研究-畢業(yè)論文
- 特征空間穩(wěn)健性分析彩色圖像分割畢業(yè)論文外文翻譯
- 基于邊緣檢測的圖像分割方法研究-畢業(yè)論文
- 彩色圖像分割方法的研究.pdf
- 基于邊緣檢測的圖像分割方法研究-畢業(yè)論文
- 彩色樹木圖像分割方法的研究.pdf
- 彩色人體切片圖像分割方法研究.pdf
- 圖像分割-畢業(yè)論文外文翻譯
- 彩色圖像分割方法綜述【文獻綜述】
- 基于活動輪廓模型的圖像分割方法研究【畢業(yè)論文】
- 基于區(qū)域的彩色圖像分割方法研究.pdf
- 圖像分割算法研究與實現(xiàn)畢業(yè)論文
- 彩色圖像分割.pdf
- 彩色圖像分割方法的研究與實現(xiàn).pdf
- 基于紅外圖像邊緣信息的彩色圖像分割方法研究.pdf
- 圖像分割算法的研究與實現(xiàn)_畢業(yè)論文
評論
0/150
提交評論