图像区域的最小二乘拟合椭圆与偏心率

禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P312

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对区域最小二乘拟合椭圆,它的形状和方向能够很好地代表该区域的形状和方向。

计算 x x x轴与椭圆长轴之间的角度(以度为单位),

  1. 计算椭圆的长轴和短轴

    • 椭圆的长轴和短轴可以通过计算图像区域的二阶矩(协方差矩阵)得到。
    • 协方差矩阵的特征向量和特征值分别对应于椭圆的主轴方向和轴长。
  2. 确定长轴的方向

    • 协方差矩阵的最大特征值对应的特征向量表示椭圆的长轴方向。
  3. 计算角度

    • 假设 x x x 轴正方向为水平向右(0 度),长轴方向向量与 x x x 轴之间的夹角即为所求角度。
    • 可以使用反正切函数(arctan2)来计算两个向量之间的夹角。

具体步骤

根据图像区域计算二阶矩( m 00 , m 10 , m 01 , m 11 , m 20 , m 02 m_{00}, m_{10}, m_{01}, m_{11}, m_{20}, m_{02} m00,m10,m01,m11,m20,m02

  1. 计算图像区域的协方差矩阵
    假设我们有一个图像区域 I ( x , y ) I(x, y) I(x,y),其中 x x x y y y 是像素的位置坐标。我们可以通过以下步骤计算该区域的协方差矩阵:

(1) 计算质心:首先计算图像区域的质心 ( x ˉ , y ˉ ) (\bar{x}, \bar{y}) (xˉ,yˉ)
x ˉ = ∑ x , y x ⋅ I ( x , y ) ∑ x , y I ( x , y ) = m 10 \bar{x} = \frac{\sum_{x,y} x \cdot I(x, y)}{\sum_{x,y} I(x, y)}=m_{10} xˉ=x,yI(x,y)x,yxI(x,y)=m10
y ˉ = ∑ x , y y ⋅ I ( x , y ) ∑ x , y I ( x , y ) = m 01 \bar{y} = \frac{\sum_{x,y} y \cdot I(x, y)}{\sum_{x,y} I(x, y)}=m_{01} yˉ=x,yI(x,y)x,yyI(x,y)=m01

(2) 计算协方差矩阵:协方差矩阵 C C C 是一个 2x2 的矩阵,其元素如下:
C = ( σ x x σ x y σ y x σ y y ) C = \begin{pmatrix} \sigma_{xx} & \sigma_{xy} \\ \sigma_{yx} & \sigma_{yy} \end{pmatrix} C=(σxxσyxσxyσyy)
其中:
σ x x = ∑ x , y ( x − x ˉ ) 2 ⋅ I ( x , y ) ∑ x , y I ( x , y ) = m 20 m 00 \sigma_{xx} = \frac{\sum_{x,y} (x - \bar{x})^2 \cdot I(x, y)}{\sum_{x,y} I(x, y)}= \frac {m_{20}} {m_{00}} σxx=x,yI(x,y)x,y(xxˉ)2I(x,y)=m00m20
σ y y = ∑ x , y ( y − y ˉ ) 2 ⋅ I ( x , y ) ∑ x , y I ( x , y ) = m 02 m 00 \sigma_{yy} = \frac{\sum_{x,y} (y - \bar{y})^2 \cdot I(x, y)}{\sum_{x,y} I(x, y)}= \frac {m_{02}} {m_{00}} σyy=x,yI(x,y)x,y(yyˉ)2I(x,y)=m00m02
σ x y = σ y x = ∑ x , y ( x − x ˉ ) ( y − y ˉ ) ⋅ I ( x , y ) ∑ x , y I ( x , y ) = m 11 m 00 \sigma_{xy} = \sigma_{yx} = \frac{\sum_{x,y} (x - \bar{x})(y - \bar{y}) \cdot I(x, y)}{\sum_{x,y} I(x, y)}= \frac {m_{11}} {m_{00}} σxy=σyx=x,yI(x,y)x,y(xxˉ)(yyˉ)I(x,y)=m00m11

  1. 求解协方差矩阵的特征值和特征向量

    • 求解特征方程 ∣ C − λ I ∣ = 0 |C - \lambda I| = 0 CλI=0 得到特征值 λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2 λ 1 ≥ λ 2 \lambda_1 \geq \lambda_2 λ1λ2)。
    • 对应的特征向量 v 1 , v 2 \mathbf{v}_1, \mathbf{v}_2 v1,v2,其中 v 1 \mathbf{v}_1 v1 对应长轴方向。
  2. 计算角度

    • 特征向量 v 1 = ( v 1 x , v 1 y ) \mathbf{v}_1 = (v_{1x}, v_{1y}) v1=(v1x,v1y)
    • 角度 θ \theta θ 为:
      θ = arctan ⁡ 2 ( v 1 y , v 1 x ) \theta = \arctan2(v_{1y}, v_{1x}) θ=arctan2(v1y,v1x)
    • 注意,arctan2 返回的角度范围是 [ − π , π ] [- \pi, \pi] [π,π],需要将其转换为 [ − 9 0 ∘ , 9 0 ∘ ] [-90^\circ, 90^\circ] [90,90]
      θ = { θ × 180 π if  θ ≥ 0 ( θ + 2 π ) × 180 π if  θ < 0 \theta = \begin{cases} \theta \times \frac{180}{\pi} & \text{if } \theta \geq 0 \\ (\theta + 2\pi) \times \frac{180}{\pi} & \text{if } \theta < 0 \end{cases} θ={θ×π180(θ+2π)×π180if θ0if θ<0
      • θ > 9 0 ∘ \theta > 90^\circ θ>90,则 θ = 18 0 ∘ − θ \theta = 180^\circ - \theta θ=180θ

一个例子

禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值