矩是描述圖像特征的算子,如今矩技術已廣泛應用於圖像檢索和識別 、圖像匹配 、圖像重建 、數字壓縮 、數字水印及運動圖像序列分析等領域。常見的矩描述子可以分為以下幾種:幾何矩、正交矩、復數矩和旋轉矩。
其中幾何矩提出的時間最早且形式簡單,對它的研究最為充分。幾何矩對簡單圖像有一定的描述能力,他雖然在區分度上不如其他三種矩,但與其他幾種算子比較起來,他極其的簡單,一般只需用一個數字就可表達。所以,一般我們是用來做大粒度的區分,用來過濾顯然不相關的文檔。
1. 數學中的矩
2. 圖像的幾何矩
針對於一幅圖像,我們把像素的坐標看成是一個二維隨機變量,那么一幅灰度圖像可以用二維灰度密度函數來表示,因此可以用矩來描述灰度圖像的特征。
不變矩(Invariant Moments)是一處高度濃縮的圖像特征,具有平移、灰度、尺度、旋轉不變性。M.K.Hu在1961年首先提出了不變矩的概念。1979年M.R.Teague根據正交多項式理論提出了Zernike矩。下面主要介紹這兩種矩特征的算法原理與實現。
補充一點,懂的請無視:
可能有人會問,為什么像素點的值表示的是概率?meanshift算法里用到的反向投影圖就是概率圖。什么又是反向投影圖呢?舉個例子。
(1)例如灰度圖像如下
Image=
0 1 2 3
4 5 6 7
8 9 10 11
8 9 14 15
(2)該灰度圖的直方圖為(bin指定的區間為[0,4),[4,7),[7,12),[12,16))
Histogram=
4 3 7 2
(3)反向投影圖
Back_Projection=
4 4 4 4
3 3 3 7
7 7 7 7
7 7 2 2
可見,反向投影圖就是反應了顏色分布的概率圖。
3. 幾個圖像的不變矩
HU矩
這7個不變矩構成一組特征量,Hu.M.K在1962年證明了他們具有旋轉,縮放和平移不變性。實際上,在對圖片中物體的識別過程中,只有M1和M2不變性保持的比較好,其他的幾個不變矩帶來的誤差比較大,有學者認為只有基於二階矩的不變矩對二維物體的描述才是真正的具有旋轉、縮放和平移不變性(M1和M2剛好都是由二階矩組成的)。
由Hu矩組成的特征量對圖片進行識別,優點就是速度很快,缺點是識別率比較低。Hu不變矩一般用來識別圖像中大的物體,對於物體的形狀描述得比較好,圖像的紋理特征不能太復雜,像識別水果的形狀,或者對於車牌中的簡單字符的識別效果會相對好一些。
其他常見的圖像矩
連續正交矩:Zernike矩和Legendre矩
離散正交矩:Tchebichef矩、Krawtchouk矩、Hahn矩、Racah矩等。
雖然非正交矩形式簡單 、計算快、易於實現,但抗噪性差、基函數非正交 ,且具有較大的信息冗余。連續正交矩的基函數正交,不僅其矩變換可逆 ,且易於圖像重建 , 由於其各階矩相互獨立,故具有最小的信息冗余。其不足之處是該矩的基函數只在特定范圍內是正交的。
4. OpenCV相關函數
由OPENCV提供計算中心距、歸一化中心距和hu矩的函數為:
void cvMoments(const CvArr*image,CvMoments*moments,int isBinary=0)
double cvGetCentralMoment(CvMoments*moments,intx_order,int y_order)
doublecvGetNormalizedCentralMoment(CvMoments*moments,int x_order,int y_order);
voidcvGetHuMoments(CvMoments*moments,CvHuMoments*HuMoments);
其中cvMoments和上面的cvContourMoments是同一個函數。
同時OPENCV還提供了輸入圖像直接進行hu矩匹配的函數是
double cvMatchShapes(constvoid*object1,const void*object2,int method,double parameter=0);
5. 小結
圖像的矩通常描述了該圖像形狀的全局特征,並被廣泛的應用在各種圖像處理、計算機視覺和機器人技術領域的目標識別與方位估計中。一階矩與形狀有關,二階矩顯示曲線圍繞直線平均值的擴展程度,三階矩則是關於平均值的對稱性的測量。不變矩是圖像的統計特性,滿足平移、伸縮、旋轉均不變的不變性。
如果把圖像看成是一塊質量密度不均勻的薄板,其圖像的灰度分布函數f(x,y)就是薄板的密度分布函數,則其各階矩有着不同的含義,如零階矩表示它的總質量;一階矩表示它的質心;二階矩又叫慣性矩,表示圖像的大小和方向。事實上,如果僅考慮階次為2的矩集,則原始圖像等同於一個具有確定的大小、方向和離心率,以圖像質心為中心且具有恆定輻射率的橢圓。
由三階矩以下矩構成的七個矩不變量具有平移、旋轉和尺度不變性等等。當密度分布函數發生改變時,圖像的實質沒有改變,仍然可以看做一個薄板,只是密度分布有所改變。雖然此時各階矩的值可能發生變化,但由各階矩計算出的不變矩仍具有平移、旋轉和尺度不變性。通過這個思想,可對圖像進行簡化處理,保留最能反映目標特性的信息,再用簡化后的圖像計算不變矩特征,可減少計算量。
研究表明,只有基於二階矩的不變矩對二維物體的描述才是真正的與旋轉、平移和尺度無關的。較高階的矩對於成像過程中的誤差,微小的變形等因素非常敏感,所以相應的不變矩基本上不能用於有效的物體識別。即使是基於二階矩的不變矩也只能用來識別外形相差特別大的物理,否則他們的不變矩會因為很相似而不能識別。
還是不太懂。。
轉自:http://blog.csdn.net/gdfsg/article/details/51015066
http://www.cnblogs.com/ronny/p/3985810.html