一幅M×N的数字图像f(i,j),其p+q阶几何矩和中心矩分别定义如式(1),式(2): m p q = ∑ i = 1 M ∑ j = 1 N i p j q f ( i , j ) 式 ( 1 ) m_{pq}=\sum_{i=1}^{M}\sum_{j=1}^{N}i^pj^qf(i,j) 式(1) mpq=i=1∑Mj=1∑Nipjqf(i,j)式(1) μ p q = ∑ i = 1 M ∑ j = 1 N ( i − x c ) p ( j − y c ) q f ( i , j ) 式 ( 2 ) \mu_{pq}=\sum_{i=1}^{M}\sum_{j=1}^{N}(i-x_c)^p(j-y_c)^qf(i,j) 式(2) μpq=i=1∑Mj=1∑N(i−xc)p(j−yc)qf(i,j)式(2)
其中 f ( i , j ) f(i,j) f(i,j)为图像在坐标点 ( i , j ) (i,j) (i,j)处的灰度值,重心 ( x c , y c ) (x_c,y_c) (xc,yc): x c = m 10 m 00 x_c=\frac{m_{10}}{m_{00}} xc=m00m10, y c = m 01 m 00 y_c=\frac{m_{01}}{m_{00}} yc=m00m01。。
常见的几何矩的用处如下:
(1) 零阶矩,如式(3), m 00 = ∑ i = 1 M ∑ j = 1 N f ( i , j ) 式 ( 3 ) m_{00}=\sum_{i=1}^{M}\sum_{j=1}^{N}f(i,j)式(3) m00=i=1∑Mj=1∑Nf(i,j)式(3)
当图像为二值图时,就是这个图像上白色区域的总和,因此,可以用来求二值图像(轮廓,连通域)的面积。
(2)一阶矩,如式(4),式(5),
m
10
=
∑
i
=
1
M
∑
j
=
1
N
i
∗
f
(
i
,
j
)
式
(
4
)
m_{10}=\sum_{i=1}^{M}\sum_{j=1}^{N}i*f(i,j)式(4)
m10=i=1∑Mj=1∑Ni∗f(i,j)式(4)
m
01
=
∑
i
=
1
M
∑
j
=
1
N
j
∗
f
(
i
,
j
)
式
(
5
)
m_{01}=\sum_{i=1}^{M}\sum_{j=1}^{N}j*f(i,j)式(5)
m01=i=1∑Mj=1∑Nj∗f(i,j)式(5)
当图像为二值图时,
m
10
m_{10}
m10就是白色像素关于x坐标的累加和,而
m
01
m_{01}
m01则是y坐标的累加和。
由此,可获得图像的重心。
重心 ( x c , y c ) (x_c,y_c) (xc,yc): x c = m 10 m 00 x_c=\frac{m_{10}}{m_{00}} xc=m00m10, y c = m 01 m 00 y_c=\frac{m_{01}}{m_{00}} yc=m00m01。
常见的中心矩的用处:
由中心矩求物体方向,公式如式(6)
θ
=
1
/
2
a
c
t
a
n
(
2
μ
11
μ
20
−
μ
02
)
式
(
6
)
\theta=1/2actan(\frac{2\mu_{11}} {\mu_{20}-\mu_{02}})式(6)
θ=1/2actan(μ20−μ022μ11)式(6)