- 相關推薦
彩色圖像特征提取研究(一)
彩色圖像特征提取研究
徐紅霞
摘要:以普通的彩色圖像為例,介紹了對彩色圖像特征提取的原理。其具體過程分為原圖像的預處理、圖像信息分析、圖像的特征提取,然后用MATLAB實現具體的過程,最后獲得需要的顏色特征、紋理特征、輪廓特征等。
關鍵詞:彩色圖像 圖像預處理 特征提取
1.引言
1.1 選題背景
近年來,數字圖像的數量正在飛速增長,對日益龐大的圖像庫進行有效的管理尤為重要;趦热莸膱D像檢索CBIR(Content Based Image Retrieval),如顏色特征、紋理特征等進行索引的方法成為當前多媒體檢索研究的熱點之一。
另一方面計算機視覺技術在現代生活中已獲得了廣泛的應用,高效的圖像處理算法是計算機視覺技術能否獲得成功應用的關鍵,近年來,隨著計算機視覺研究的不斷進步、多媒體技術和虛擬現實技術的不斷完善、彩色成像設備的不斷改進,彩色圖像的應用越來越廣泛,然而,圖像處理研究仍然集中在灰度圖像上。對灰度圖像的技術通常不能用到彩色圖像,因為彩色圖像更復雜,對計算機的計算速度與存儲容量要求更高。彩色圖像處理己經成為當前圖像處理領域重要的研究課題。
圖像的特征有顏色、形狀、紋理等。顏色是物體表面的屬性,因此對于圖像分割和目標識別等的研究都具有非常重要的意義。顏色在計算機視覺中應用也在不斷進步;另一方面,紋理是物體表面結構的模式,可以認為是顏色(灰度)在空間以一定的變化形式而產生的圖案(模式),是圖像的一種區域性質[8]。
1.2 程序簡介
MATLAB是一門編程語言,其語法規則與一般的結構化編程語言(如C語言等)大同小異,而且它不需要定義變量和數組,使用更加方便。具有一般的語言基礎就可以很快掌握。其次MATLAB有代碼短小高效的特點,由于MATLAB已經將數學問題的具體算法編成了現成的函數,我們只要熟悉算法的特點、使用場合、函數的調用格式和參數意義等,通過調用函數就可以很快地解決問題。該軟件有六十多個工具箱,可以直接調用,節省時間和精力。工具箱實際上是對MATLAB進行擴展應用的一系列MATLAB函數(稱為M文件),它可用來求解各類學科的問題,包括信號處理、圖象處理、控制系統辨識、神經網絡等。隨著MATLAB版本的不斷升級,其所含的工具箱的功能也越來越豐富。隨著MATLAB版本的不斷升級,其所含的工具箱的功能也越來越豐富,因此,應用范圍也越來越廣泛,成為涉及數值分析的各類工程師不可不用的工具。其次,它有強大的圖形表達功能,不僅可以繪制一般的二維、三維圖像,如線圖、條形圖、餅圖、散點圖、直方圖與誤差條圖等,還可以繪制工程特性較強的特殊圖形,如玫瑰花圖、極坐標圖、二維、三維等值線圖、三維表面圖、假彩色圖、二維、三維流線圖、三維彩色流錐圖、流沙圖、流帶圖、流管圖、卷曲圖與切片圖等,此外還可以生成快照圖和進行動畫制作,對于圖像的處理有很重要的作用。所以這次研究我們以MATLAB作為實現原理過程的程序。
1.3 課題流程
本課題主要的環節為彩色圖像的分析和特征提取,流程圖如下:
原圖像 → 圖像預處理 → 圖像分析 → 特征提取
原始圖像:由各種路徑獲得且能被MATLAB支持的各種格式的圖像數據,如BMP格式、GIF格式、TIF格式、JPEG格式的圖像等。
圖像的預處理:直方圖修正,灰度變化,圖像的平滑與銳化,圖像類型轉換。
圖像分析:像素值統計,直方圖提取,區域屬性等。
特征提。翰噬珗D像的輪廓特征,顏色值特征,紋理特征等。
本文以MATLAB工具箱中一張普通的彩色圖像‘flowers.tif’為例,利用MATLAB編程實現彩色圖像的特征提。
2.圖像的預處理
2.1直方圖修正
直方圖修正的應用非常廣泛。例如:在醫學上,為了改善X射線機操人員的工作條件,可以采用低強度的X射線曝光,但是這樣獲得的X光片灰度級集中在暗區,許多圖像細節無法看清,判斷困難,通過修正使灰度級分布在人眼合適的亮度區域,就可以使X光片中的細節,如筋骨、關節等清晰可見。另外還有一些非可見光成像的工業無損檢測(如射線成像、紅外成像等),軍事圖像通常有直方圖均衡化和直方圖規定化兩大類。下面介紹其中一種方法—直方圖均衡化:
直方圖均衡化也稱為直方圖均勻化,是一種常用的灰度增強算法,是將原圖的直方圖經過函數修正為均勻直方圖,然后按均衡化的直方圖修正原圖像。具體方法是:
給出原始圖像的所有灰度級Sk,k=0,1,…,L-1。
統計原始圖像各灰度級的像素nk。
用式p=(Sk)=nk/n 計算原始圖像的直方圖。
計算原始圖像的累計直方圖。
取整計算:Tk=int[(N-1)tk+k/N]
確定映射關系Sk→tk。
統計新直方圖各灰度級的像素nk。
計算新的直方圖:pk=nk/n
2.2圖像的平滑與銳化
圖像的平滑-低通濾波:一般說來,圖像的邊緣和噪聲都應對于傅里葉變換中的高頻部分,所以能讓低頻信賴暢通無阻而同時濾波掉高頻分量的低通濾波器能夠平滑圖像,去除噪聲。
這里應該指出,傅里葉變換的主要能量都集中在頻譜中心的,合理的選擇截止頻率對保留圖像的能量是至關重要的,以一副256×256的圖像為例,如果D0=5,那么理想低通濾波器將保存圖像98%的能量。隨著D0的增大,圖像的能量將迅速流失,如果D0=22,那么98%的能量將會通過該濾波器流失。另外,理想低通濾波后的圖像將會出現一種“振鈴”特性,造成圖像不同程度的模糊,D0越小,模糊程度越明顯。造成這種模糊的原因在于理想低通濾波器的傳遞函數H(u,v)在D0處由1變為0,該H(u,v)經過傅里葉反變換后在空域中將表現為同心圓的形式。
圖像的銳化-高通濾波:由于圖像中灰度發生驟變的部分與其頻譜的高頻分量相對應,所以應采用高頻濾波器衰減或抑制低頻分量,使高頻分量暢通并能夠對圖像進行銳化處理。
由于經過高通濾波處理后的圖像丟失了許多低頻信息,所以圖像的平滑區基本會消失。為此,需要采用高頻加強濾波來彌補。高頻加強濾波就是在設計濾波傳遞函數時,在原有的設計結果上添加一個大于0,小于1的常數c,即
H’(u,v)=H(u,v)+c
于是濾波結果為
G’(u,v)=F(u,v)H’(u,v)=F(u,v)H(u,v)+cH(u,v)
由上式可見,高頻加強濾波在高頻濾波的基礎上保留了cF(u,v),的低通分量,高頻分量也比一般高通濾波時加強了cF(u,v),故稱為高頻加強濾波,這種濾波處理效果比一般的高頻濾波要好。
2.3 圖像類型轉換
在MATLAB中圖像類型可分為二值圖像、索引圖像、灰度圖像、多幀圖像和RGB圖像,許多圖像處理對圖像的圖像類型有一定的要求,如MATLAB中彩色圖像的輪廓及邊緣提取需要將真彩圖像轉換為灰度圖像,而具體的過程只需要通過rgb2gray函數就可以實現。同樣將彩色圖像二值化也只需通過im2bw函數就能獲得,通過MATLAB對原圖編程,獲得如下圖形:
圖(2-5)圖像的格式轉化
3.圖像的分析
3.1 像素值統計
像素值在彩色圖像中表示為顏色值的信息,用于彩色圖像的顏色特征提取。MATLAB的圖像處理工具箱提供有pixval函數和impixel函數用于提供圖像特定像素的數據值(灰度值或顏色值)信息。而improfile函數用于沿著圖像中一條直線段或折線段計算和繪制圖像像素值的圖像[2]。三個函數分別獲得像素值統計結果如下:
圖(3-1)pixval函數統計像素值 圖(3-2)impixel函數統計像素值
圖(3-3)improfile函數統計像素值
3.2 直方圖提取
直方圖用于顯示灰度圖像的灰度值分布,用于圖像的紋理特征提取。MATLAB中用imhist函數可以創建圖像的統計直方圖,得到的結果如下圖所示:
圖(3-4)圖像直方圖提取
3.3 區域屬性
圖像區域的有關屬性有區域的面積、質心、均值、標準差和相關系數等等,對于彩色圖像紋理等特征的提取有很大的作用,在MATLAB中可以用mean2函數、std2函數和corr2函數分別計算圖像矩陣的均值、標準差和兩個相同矩陣的相關系數。有關他們的用法不再細講。而對于選定的圖像區域可以用regionprops函數來計算,例如,區域的面積、質心、包含區域的邊框等。
4.特征提取
4.1彩色圖像特征提取
通過圖像信息去測量、識別或理解其中的對象物,依賴于一些能表征對象物的圖像物理特征,如邊緣、區域、形狀、顏色、紋理等等。通過各種處理方法,將包含圖像信息的必要的特征顯露出來,并加以量化的處理稱之為彩色圖像的特征提取[1]。
圖像特征是指圖像的原始特性或屬性。圖像特征提取工作的結果給出某一具體的圖像中與其他圖像相區別的特征[1]。
4.2 彩色圖像的輪廓提取
邊緣、輪廓特征是可以直觀觀測的特征之一,也是描述物體外形的形態特征。在圖像處理技術中,許多場合都要求計算機進行圖像描述,并按照特征對圖像進行分析和理解。如在醫學癌細胞識別中,要求能夠從顯微鏡中得到有關癌細胞形狀的描述等。而邊緣檢測技術是所有基于邊界分割的圖像分析方法的第一步。
在MATLAB里可以用imcontour函數來輪廓提取實現這一過程,通過函數獲得的結果如下圖所示:
圖(4-1)圖像的輪廓提取
邊緣的檢測可以借助空域微分算子利用卷積來實現。常用的微分算子有梯度算子和拉普拉斯算子等,這些算子不但可以檢測圖像的而為邊緣,還可以檢測圖像序列的三維邊緣。用微分算子對圖像進行邊緣檢測所得的邊界常常會發生斷裂現象。所以需要通過領域端點搜索、曲線擬合和Hough變換等方法將邊緣連接起來。
這里所用的邊緣檢測算子為canny算子,它檢測邊緣的方法是尋找圖像梯度的局部極大值,梯度是用高斯濾波器的倒數計算的。Canny方法使用兩個閾值來分別檢測強邊緣和弱邊緣,而且僅當弱邊緣與強邊緣相連時,弱邊緣才會包含在輸出中,因此,此方法不容易受噪聲的干擾,能夠檢測的真正的弱邊緣。
而連接方法選用Hough變換,它的主要優點是受噪聲和曲線間斷的影響小,利用Hough變換出來可以進行邊界連接之外,還可以用來直接檢測某些一直的形狀的目標。Hough變換是利用圖像的全局特征將邊緣像素連接起來形成封閉邊界的一種連接方法。利用點與直線的對偶性的特點,在圖像空間中,所有過點(x,y)的直線都滿足以下方程:
y=kx+b用極坐標表示式為:ρ=x cosθ+y sinθ其中,(ρ,θ)定義了一個從原點到直線上最近點的向量,該向量與直線垂直,極坐標變換就稱做直線的Hough變換。由于x-y平面中的直線上的各個邊緣點都滿足參數的等式,所以x-y空間中所有的邊緣對應的正弦曲線都相交于點(ρ0,θ0),可以建立一個位于參數空間中的直方圖,對于每一個邊緣點,給參數空間中的所有與之對應的正弦曲線的直方圖方格一個增量。于是,當所有邊緣點都經過這種處理后,包含(ρ0,θ0)的方格將具有局部最大值,通過對參數空間的直方圖進行局部最大值搜索就可以獲得邊界直線的參數。
通過函數的MATLAB實現得到如下結果圖:
圖(4-2)圖像的邊緣檢測
4.3圖像分割
圖像分割是由圖像處理到圖像分析的關鍵步驟,也是一種基本的計算機視覺技術。隨的圖像處理,諸如特征提取和對象識別,都依賴于圖像分割的質量。圖像分割就是指把像分成各具特性的區域并提取感興趣目標的技術和過程。盡管人們在圖像分割方面做了許多研究工作,但由于沒有通用的分割理論,現己提出的分割算法大都是針對具體問題的,并沒有一種適合所有圖像的通用分割算法[7]。對于彩色圖像分割問題,必須充分利用彩色圖像所包含的豐富的色彩信息,選擇適當的特征,使目標和背景能依據特征上的差別進行區分,利用這個顏色特征將彩色圖像轉變成灰度圖像,再確定閾值將灰度圖像二值化。
4.4紋理特征提取
為了獲得較好的分割效果,選擇紋理特征時要兼顧圖像的局部灰度特性以及像素點彼此之間的灰度依賴性,因此,本文選用以像素點為中心的窗口灰度共生矩陣特征作為該像素點的紋理特征。
灰度共生矩陣(Gray Level Concurrence Matrix)是近年來發展起來的分析紋理特性的有效方法,它反應了圖像中任意兩點灰度的相關性;叶裙采仃嚤欢x為從灰度值為i的像素點離開某個位置關系δ=(⊿X,⊿Y)上點的灰度值為j的距離,兩像素的位置關系如圖2所示,即k(i,j)={(x,y)|f(x,y)=i且f(x+⊿X,y+⊿Y)=j;x,y=0,1,…,N-1}集合的像素個數。其中,x,y是圖像中像素坐標,f(x,y)是該點灰度值,i,j=0,1,…,L-1,L是灰度級數目,⊿X,⊿Y是偏移量。標識圖像的紋理特征有很多,常用的統計分量主要有紋理一致性、紋理反差、紋理熵和紋理相關性。本文選用了紋理一致性作為紋理特征,具體的定義如下:
紋理一致性:其中p(i,j)為歸一化共生矩陣中灰度級對為(i,j)的聯合概率,k[i][j]是{(x,y)|f(x,y)=i且f(x+⊿X, ⊿y+Y)=j;x,y=0,1…N-1}集合像素個數,L是灰度級數目。
4.5傅立葉特征
計算紋理要選擇窗口,僅一個點是無紋理可言的,所以紋理是二維的。在紋理分析中使用到的是傅立葉變換,主要原因是圖像傅立葉變換的能量譜能在一定程度上反映某些特征。設紋理圖像為f(x,y),其傅立葉變換可由下式表示:
F(u,v)=∫∫f(x,y)edxdy
其功率譜定義為:
。麱(u,v)|=F(u,v) F(u,v)
其中F(u,v)為F(u,v)的共軛復數。功率譜F(u,v)反映了整個的性質。由此可知:如果一個幅圖像的紋理較粗糙,即圖像的灰度變化很少或較慢,則在小(u+ v)的值處|F(u,v)|有較大值;如果一副圖像的紋理較細膩,即圖像的灰度變化頻繁或較快,則在大的(u+ v)值處|F(u,v)|應有較大的值。因此,如果想要檢測紋理的粗糙、細膩性質,一個有用的度量就是|F(u,v)|隨(u+ v)變化的情況。
如果把傅立葉變換用極坐標形式表示,則有F(r,θ)的形式?紤]到原點為r的圓上的能量為
Φr=∫| F(r,θ)|dθ
經實際紋理圖像的研究表明:在紋理較粗的情況下,能量多集中在離原點近的范圍內,而在紋理較細的情況下,能量分散在離原點較遠的范圍內。由此可得出如下結論:如果r較小,Φr很大;r很大時Φr反而較小,則說明紋理是粗糙的;反之如果r變化對Φr的影響不是很大時,則說明紋理是比較細的。
4.6顏色特征提取
特征提取的主要任務是把圖像的顏色特征提取出來存入圖像特征數據庫,以此特征作圖像檢索的主要依據,主要步驟為:
(1)將RGB顏色空間轉換為適合肉眼分辨的HSV顏色空間;
(2)HSV空間的非等間隔量化;
(3)根據量化后的圖像統計得到直方圖[5]。
4.6.1 RGB顏色空間轉換HSV顏色空間
顏色被公認為是圖像檢索中最有價值的底層特征,因此顏色就成為了圖像檢索中用的最多的視覺特征。對于復雜背景圖像,顏色特征具有相對良好的魯棒(robust)性,并且不受圖像尺寸和方向的影響。常用的顏色空間有:RGB、HSI、HSL、HSB、CMYK、HSV等,采用何種顏色空間并沒有統一的標準,對于RGB顏色模型是用紅、綠、藍三種基色來表示各種顏色,但RGB顏色空間不能很好的與感知上的顏色空間結合起來,較好的是HSV模型,因此在這里需要RGB到HSV的轉換。對于HSV顏色空間,又稱為六椎體模型,給定RGB顏色空間的值(r,g,b),其中r,g,b∈[0,255],則變換到HSV空間的H,S,V值,可設v'=max(r,g,b),定義:{r',g',b'}為:
r'=(v'-r)/(v'-min(r,g,b))
g'=(v'-g)/(v'-min(r,g,b))
b'=(v'-b)/(v'-min(r,g,b))
則有v=v'/255,s=(v'-min(r,g,b))/v'
h’= 5+b’ , r=max(r,g,b)且g=min(r,g,b);
1-g’, r=max(r,g,b)且g=min(r,g,b);
1+r’ g=max(r,g,b);
3-b’, g=max(r,g,b)且b=min(r,g,b);
3+g’, b=max(r,g,b)且r=min(r,g,b)
5-r’, 其他
h=h'×60
這里r,g,b∈[0,255],h∈[0,360],s∈[0,1],v∈[0,1]
4.6.2HSV空間的非等間隔量化
將h,s,v 3個分量按人的顏色感知進行非等間隔的量化,從對顏色模型的大量分析和計算?砂焉{h分成16份,飽和度s和亮度v分別分成4份,并據色彩的不同范圍進行量化,量化后的色調、飽和度和亮度值分別為H,S,V。
H= 0, 如果h∈(345,15]; S= 0, 如果s∈(0,0.15];
1, 如果h∈(15,25]; . 1, 如果s∈(0.15,0.4];
2, 如果h∈(25,45]; . 2, 如果s∈(0.4,0.75];
3, 如果h∈(45,55]; . 3, 如果s∈(0.75,1];
4, 如果h∈(55,80];
5, 如果h∈(80,108];
6, 如果h∈(108,140];
7, 如果h∈(140,165];
8, 如果h∈(165,190]; V= 0, 如果v∈(0,0.15];
9, 如果h∈(190,220]; . 1, 如果v∈(0.15,0.4];
10, 如果h∈(220,255]; . 2, 如果v∈(0.4,0.75];
11, 如果h∈(255,275]; . 3, 如果v∈(0.75,1];
12, 如果h∈(275,290]; .
13, 如果h∈(290,316];
14, 如果h∈(316,330];
15, 如果h∈(330,345];
上面的h,s,v取值區間均為前開后閉。量化完成后,我們把顏色空間劃分為Lh×Ls×Lv個相似色空間,其中Lh、Ls、Lv分別表示三個量化級數,把3個顏色分量合成為一維特征矢量,即L=H×Ls×Lv+S×Lv+V其中Ls和Lv分別是S和V的量化級數,取Ls=2,Lv=3因此上式可表示為:L=6H+3S+V這樣H,S,V三個分量就在一維矢量上分布開來。其中L的取值范圍是[0~35],即根據量化后的圖象可以統計得到36柄的一維直方圖。
4.6.3提取顏色直方圖
顏色直方圖是顏色信息的函數,它表示圖像中具有同顏色級別的像素的個數,其橫坐標是顏色級別,縱坐標是顏色出現的頻率(像素的個數)。因此顏色直方圖(color histogram)是用來表達顏色特征最常用的手段。顏色直方圖的定義如下:設圖像I大小為w*h的圖像,其中圖像I中的顏色量化值分別為C1,C2,…Cn。對于象素點p=(x,y)∈I,令C(p)表示其顏色,即I{p│C(p)=C}。那么對于顏色Ci,i∈m,圖像I的直方圖為: HCi (I)=‖ICi‖。為了保證尺度不變性,一般對直方圖進行標準化:hCi =Pr[p∈ICi ]= HCi (I)/w*h。
常用的顏色直方圖有很多。我們在這里用到的為局部直方圖。
局部顏色特征區域顏色直方圖和區域顏色分布特征,后者包括區域顏色矩(主要是均值和方差)、區域顏色極大、極小值等。下面給出局部直方圖的定義和處理方法:從廣義角度,顏色直方圖可定義為某個圖像、區域或目標中顏色的分布情況描述,其定義形式為:
Hc(k)= ∑ (x,y)∈R h(C(x,y)) R為圖像區域。
由于區域顏色分布具有局域性,有的顏色出現的很少,為了簡化直方圖描述,有必要對其進行優選。一種基于閥值的顏色集(color set)的思想是針對顏色直方圖中每個顏色項k,引入閥值T:
bk={ 1 如果≥T 0 其他
顯然,bk是否為1可以判斷區域內顏色k在處理時是否可以忽略。如果顏色k的像素數目小于給定的某個閥值,該顏色將被忽略。這樣就在一定的程度上簡化了直方圖后期索引及匹配的工作量。
5.討論
本次課題研究取得較為令人滿意的結果,為了得到相關信息,我們翻閱許多圖像處理和MATLAB程序的資料。通過小組的分工努力,把上述的流程一一做完,最終通過MATLAB程序,實現了彩色圖像的部分特征的提取。但是本次課題還存在很多的不足,比如在顏色特征提取部分,還有更多的算法有待更深入的研究。
6.結果分析
對一般的彩色圖像,通過圖像的預處理和圖像分析,可以提取到圖像的部分特征,如顏色、形狀、紋理特征等,對圖像檢索和彩色圖像處理技術有很大的幫助。測試結果表明,本設計充分利用MATLAB中已有的函數庫,使整個程序設計簡單易行。
【參考文獻】
[1] 余成波. 數字圖像處理及MATLAB實現. 重慶大學出版社. 2003.6 P18 P223
[2] 王洪元. MATLAB語言及其在電子信息工程中的應用. 清華大學出版社. 2004.12
[3] 賀興華, 周媛媛, 王繼陽, 周暉. MATLAB7.x圖像處理. 人民郵電出版社. 2006.11
[4] 許飛, 施小紅. MATLAB應用圖像處理. 西安電子科技大學出版社. 2002.5 P160-161
[5] 鞏艷華, 朱愛紅, 代凌云. 福建電腦 ( Fujian Computer). 2007年5月
[6] 于鉑, 鄭麗敏, 田立軍. 計算機工程( Computer Engineering). 2006年 03期
[7] 陳麗, 蘇海鋒,王巖,孫玉梅.計算機與信息技術 ( Computer & Information Technology). 2006年 Z1期
[8] 黃志開. 彩色圖像特征提取與植物分類研究[D]. 中國優秀博碩士學位論文全文數據庫 (博士). 2006.04
【彩色圖像特征提取研究(一)】相關文章:
彩色圖像間的顏色遷移03-07
DOS真彩色模式下真彩色圖像顯示技術03-03
基于內容的圖像檢索研究11-20
紅外圖像增強算法研究03-07
圖像紋理特征的分析方法研究03-07
一種用于CMOS圖像傳感器的彩色插值算法03-07
基于內容的模糊圖像檢索技術研究03-18