图像的矩是一种描述图像特征的数学工具,用于量化图像的形状、大小和位置等属性。
几何矩 m p q m_{pq} mpq
m p q = ∑ ( x , y ) ∈ O b j e c t x p y q (1) m_{pq}=\sum\limits_{(x,y) \in Object}{x^py^q} \tag{1} mpq=(x,y)∈Object∑xpyq(1)
- 式中,x、y分别是物体上每个像素的x、y位置坐标。
tips | |
---|---|
m 00 m_{00} m00 | 图像像素个数 |
( m 10 , m 01 ) (m_{10},m_{01}) (m10,m01) | 图像质心 |
中心矩 μ p q \mu_{pq} μpq
平移不变性
μ p q = ∑ ( x , y ) ∈ O b j e c t ( x − m 10 ) p ( y − m 01 ) q (2) \mu_{pq}=\sum\limits_{(x,y) \in Object}{(x-m_{10})^p(y-m_{01})^q} \tag{2} μpq=(x,y)∈Object∑(x−m10)p(y−m01)q(2)
惯性矩 I I I
I
=
[
μ
20
μ
11
μ
11
μ
02
]
(3)
I=\begin{bmatrix}\mu_{20} & \mu_{11} \\\mu_{11} & \mu_{02}\end{bmatrix}\tag{3}
I=[μ20μ11μ11μ02](3)
计算
I
I
I的特征值和特征向量,特征向量的方向即为图像的主轴方向,可用于判断物体的倾斜角度。
若特征值为
λ
1
\lambda_1
λ1、
λ
2
\lambda_2
λ2,且
λ
1
>
λ
2
\lambda_1>\lambda_2
λ1>λ2,则物体的离心率为
1
−
(
λ
2
λ
1
)
2
\sqrt{1-(\frac{\lambda_2}{\lambda_1})^2}
1−(λ1λ2)2.
惯性矩的应用思想其实就是多元统计分析中的主成分分析法(Principal Component Analysis,PCA),多用于数据降维。
惯性矩将物体的二维像素点视为一个个样本,对像素点做PCA( I I I为像素点的协方差矩阵)。
将样本投影到特征值最大的那个特征向量方向,样本方差最大。
至于为何协方差特征向量即为主轴方向(样本投影到该方向后方差最大),我抽空另开博文,主要博主有点菜,看不太懂两年前的笔记了。(っ °Д °;)っ
注意:物体离心率非常接近1,并非代表物体是圆形,所有正多边形其离心率皆为1。
归一化中心矩 y p q y_{pq} ypq
平移不变性、尺度不变性
y p q = μ p q μ 00 r (4) y_{pq}=\frac{\mu_{pq}}{\mu_{00}^r}\tag{4} ypq=μ00rμpq(4)
- 式中, r = p + q + 2 2 p + q = 2 , 3 , ⋯ r=\frac{p+q+2}{2} \quad p+q=2,3,\cdots r=2p+q+2p+q=2,3,⋯
Hu不变矩 H H H
平移不变性、尺度不变性、旋转不变性
Hu距值具有旋转缩放平移不变性,也就是说同一个物体经过旋转缩放平移变换后,其Hu矩值不变。(物体镜像变换会导致Hu某些分量符号发生变化)
h 1 = y 20 + y 02 h 2 = ( y 20 + y 02 ) 2 + 4 y 11 2 h 3 = ( y 30 − 3 y 12 ) 2 + ( 3 y 21 − y 03 ) 2 h 4 = ( y 30 + y 12 ) 2 + ( y 21 + y 03 ) 2 h 5 = ( y 30 − 3 y 12 ) ( y 30 + y 12 ) ( ( y 30 + y 12 ) 2 − 3 ( y 21 + y 03 ) 2 ) + ( 3 y 21 − y 03 ) ( y 21 + y 03 ) ( 3 ( y 30 + y 12 ) 2 − ( y 21 + y 03 ) 2 ) h 6 = ( y 20 − y 02 ) ( ( y 30 + y 12 ) 2 − ( y 21 + y 03 ) 2 ) + 4 y 11 ( y 30 + y 12 ) ( y 21 + y 03 ) h 7 = ( 3 y 21 − y 03 ) ( y 30 + y 12 ) ( ( y 30 + y 12 ) 2 − 3 ( y 21 + y 03 ) 2 ) − ( y 30 − 3 y 12 ) ( y 21 + y 03 ) ( 3 ( y 30 + y 12 ) 2 − ( y 21 + y 03 ) 2 ) \begin{align*} h1&=y_{20}+y_{02} \\ h2&=(y_{20}+y_{02})^2+4y_{11}^2 \\ h3&=(y_{30}-3y_{12})^2+(3y_{21}-y_{03})^2 \\ h4&=(y_{30}+y_{12})^2+(y_{21}+y_{03})^2 \\ h5&=(y_{30}-3y_{12})(y_{30}+y_{12})((y_{30}+y_{12})^2-3(y_{21}+y_{03})^2) \\ &\quad+(3y_{21}-y_{03})(y_{21}+y_{03})(3(y_{30}+y_{12})^2-(y_{21}+y_{03})^2) \\ h6&=(y_{20}-y_{02})((y_{30}+y_{12})^2-(y_{21}+y_{03})^2)+4y_{11}(y_{30}+y_{12})(y_{21}+y_{03}) \\ h7&=(3y_{21}-y_{03})(y_{30}+y_{12})((y_{30}+y_{12})^2-3(y_{21}+y_{03})^2) \\ &\quad-(y_{30}-3y_{12})(y_{21}+y_{03})(3(y_{30}+y_{12})^2-(y_{21}+y_{03})^2) \end{align*} h1h2h3h4h5h6h7=y20+y02=(y20+y02)2+4y112=(y30−3y12)2+(3y21−y03)2=(y30+y12)2+(y21+y03)2=(y30−3y12)(y30+y12)((y30+y12)2−3(y21+y03)2)+(3y21−y03)(y21+y03)(3(y30+y12)2−(y21+y03)2)=(y20−y02)((y30+y12)2−(y21+y03)2)+4y11(y30+y12)(y21+y03)=(3y21−y03)(y30+y12)((y30+y12)2−3(y21+y03)2)−(y30−3y12)(y21+y03)(3(y30+y12)2−(y21+y03)2)
H = [ h 1 , h 2 , h 3 , h 4 , h 5 , h 6 , h 7 ] (5) H=[h1,h2,h3,h4,h5,h6,h7] \tag{5} H=[h1,h2,h3,h4,h5,h6,h7](5)
Hu不变矩一般用于识别图像中大的物体,对物体的形状描述得比较好,如识别水果形状、车牌中的简单字符。