◆刁彥華 孟子鈺 王曉君
(河北科技大學(石家莊)信息科學與工程學院 河北 050018)
基于Hu不變矩的圖像形狀特征提取研究
◆刁彥華 孟子鈺 王曉君
(河北科技大學(石家莊)信息科學與工程學院 河北 050018)
本文提出一種基于形狀的圖像特征提取方法。首先用Canny算子和形態學算子分別對圖像進行輪廓提取。通過對相同形狀圖像進行放大、縮小、旋轉等變換計算歸一化中心矩、Hu不變矩、離心率,并對不同形狀的圖像進行上述操作,結果表明不變矩、離心率能較好地對圖像形狀進行描述,具有很高的應用價值。
輪廓提取;形狀特征;Canny算子;形態學算子;Hu不變矩;離心率
形狀是刻畫物體的基本特征之一,用形狀特征區別物體非常直觀[1]。形狀特征提取的準確率對圖像檢索的結果有直接的聯系,因此研究圖像的形狀特征提取有重要意義。文中用傳統的Canny算子和形態學算子把目標的輪廓提取出來,取得了很好的實驗結果。形狀特征可以用不變矩和離心率來描述,實驗結果表明:不變矩和離心率能較好地對形狀進行表達。
在圖像處理領域輪廓提取占據著一個重要角色。應用于目標識別、目標分類、圖像分割等,是圖像分析技術的基礎。輪廓檢測是形狀識別的一個重要基礎,從圖像中提取目標的完整輪廓,能夠為圖像后續研究提供很大的幫助。邊緣是指圖像中像素灰度有階躍變化或者是屋頂變化的像素集合。圖像中目標的邊緣是由灰度不連續利用邊緣灰度變化的一階或二階導數特征能將邊緣點檢測出來。邊緣檢測算子包括Laplacian算子、Log算子、Canny算子、Sobel算子、Prewitt算子等。本文主要講Canny算子和數學形態學算子。
Canny算子于1986年由John Canny提出[2],廣泛應用于圖像處理領域。Canny 算子邊緣檢測的方法是尋找圖像梯度的局部最大值。梯度是用高斯濾波器的導數計算的 Canny 方法使用兩個閾值來分別檢測強邊緣和弱邊緣。Canny 算法基于梯度幅值的雙閾值方法往往難以在抑制噪聲的同時保護低強度邊緣,在一定程度上影響了其邊緣檢測的效果,并且高低閾值需要自己設定,自適應能力較差[3-4]。在實際應用中Canny算子對有噪聲的圖像提取邊緣能力較低,但是為了更好的抑制噪聲,需要增大方差來控制圖像的平滑程度,與此同時這會導致模板變大,使邊緣產生偏移。Canny 算子邊緣檢測的具體算法步驟如下[5]:
(1)去掉圖中的噪聲及使用高斯濾波器對圖像進行濾波;
(2)對處理后的圖像(濾波后)中的每一個像素,計算其梯度幅值A和方向 ;
(3)對梯度幅值進行非極大值抑制;
(4)用雙閾值算法檢測和連接邊緣。
Canny 算子實際上是高斯函數的一階導數,是圖像的高斯函數平滑和梯度運算相結合的算子,雖然不具有旋轉對稱性,但在邊緣方向對稱且沿梯度方向具有反對稱性,這樣使得該算子可在抗噪與邊緣精確定位之間取得很好的折中效果。 但是,由于Canny 邊緣檢測算子用高斯濾波平滑圖像,邊緣作為高頻部分被平滑,使得一些邊緣成為偽邊緣。
數學形態學算子用于邊緣檢測的基本理論是運用結構元素對原圖進行腐蝕操作,然后再用原圖與腐蝕之后的圖像相減。形態學算子與傳統的微分算法提取邊緣相比的優點是對于噪聲不敏感。它在運用合適的結構元素加上進行運算后(如開、閉運算)均能濾除圖像中的噪聲,保持原圖的基本信息,圖像幾何特征突出,為后續圖像進行一系列處理埋下了基石。
形狀特征提取主要分為兩大部分:基于區域內部的形狀提取方法和基于區域外部的形狀提取方法。如骨架、矩形度、圓形度、Fourier描述子、角點檢測、Hu不變矩等。文中主要研究的方法是基于區域內部變換分析法的Hu不變矩。
Hu不變矩是1962年提出的,具有對圖像的平移、旋轉、尺寸大小的變化而變化。對于離散的數字圖像階矩定義為[6]:

對于離散數字圖像 f( x, y)的中心距定義為:

零階矩m00表示二值圖像的面積;對灰度圖像而言是圖像灰度 f( x, y)的總和。一階矩:圖像的中心或者是灰度圖像的重心表示為則

利用二階、三階的歸一化中心距可以7個不變矩組:

為了更好地提取形狀特征,提高圖像的檢索效率、準確率,將離心率e和Hu不變矩的結合。離心率e代表了圖像長軸與短軸之間的比值,滿足幾何變換不變性。將兩者有效的結合在一起,就得到了圖像的全局形狀特征向量[8]。離心率的計算公式如下所示:

Canny算子在傳統的邊緣檢測算子中算是一個較好的方法,相對于Sobel算子、Roberts算子能夠提取出圖像邊緣信息。由圖1可以看出,Canny算子雖然能夠提取圖像的邊緣,但是提取的邊緣線非常細,不連續平滑且提取出來的細節部分較多有好多的偽邊緣。這主要是因為傳統的邊緣檢測算子在提取邊緣時抑制噪聲的能力較弱造成的。

圖1 Canny算子邊緣檢測圖
而基于數學形態學算法提取的圖像邊緣信息時具有很高的抗噪聲能力,在進行開、閉運算的同時,就可以濾除圖像的噪聲。所以提取的邊緣比較平滑、連續和準確,與Canny算子相比少了較多的偽邊緣。與Canny算子相比形態學算子在對圖像邊緣檢測上還是具有很大優勢的。圖2為形態學算子邊緣檢測圖。

圖2 形態學算子邊緣檢測圖
用于計算不變矩以及離心率的彩色RGB圖像如圖3所示。首先將彩色圖像灰度化,然后用Canny邊緣檢測提取邊緣保留邊緣灰度圖像,直接變為二值圖像。在此基礎上計算每副圖像的不變矩的值。計算的不變矩和離心率的值如表1所示。由表1可知不變矩和離心率能較好的描述形狀信息(注:表中的和e的值是不變矩的結果是取以十為底的對數后取模的值)。

圖3 計算不變矩樣圖

表1 不變矩和離心率的計算結果
文章首先采用了Canny算子和形態學算子進行輪廓提取,并分別簡單介紹了這兩種算子邊緣檢測的原理。分析和比較了Canny算子和形態學算子在進行邊緣提取時的優缺點。指出了Canny算子提取時產生偽邊緣的原因,主要是抑制噪聲的能力不夠好造成的;同時也指出了形態學算子在提取邊緣時通過開閉運算能有效地去除噪聲,并且提取的邊緣比較平滑、連續。形狀特征提取采用了 Hu不變矩和離心率相結合,實驗數據表明,Hu不變矩具有旋轉、尺度不變性,能夠較好地對形狀信息進行描述。
[1]王吉林,趙力.數字圖像形狀特征提取的研究[J].微電子學與計算機,2010.
[2]劉剛,王立香,董延.MATLAB數字圖像處理[M].北京:機械工業出版社,2010.
[3]姜普澤田,張興國.數學形態學與 Canny 算法結合的禽蛋檢測邊緣提取[J].機電技術,2013.
[4]王會江.結合Canny算法和Hough變換的軸類零件邊緣提取[J].機電工程技術,2016.
[5]林卉,趙長勝,舒寧.基于 Canny 算子的邊緣檢測及評價[J].深圳大學學報(理工版),2005.
[6]黃勇,王崇駿,王亮等.基于形狀不變矩的圖像檢索算法的研究[J].計算機應用研究,2004.
[7]H.J.Zhang, D.Zhong. A Scheme for visual feature-based image indexing[C].Proc.of SPIE conf.on Storage and Retrieval for Image and Video Databases III,SanJose,1995.
[8]雷晨光.基于區域不變矩的形狀匹配技術的研究及應用[D].大連理工大學,2014.