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

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

拟合椭圆

在椭圆中,焦距是指两个焦点之间的距离,通常表示为 2 c 2c 2c。这里的 c c c 是从椭圆的中心到任一焦点的距离。因此,当提到椭圆的焦距为 2 c 2c 2c 时,意味着从一个焦点到另一个焦点的距离是 2 c 2c 2c。

椭圆的一些基本参数及其关系如下:

  • 半长轴 ( a a a):椭圆上任意一点到两个焦点的距离之和的一半。它是椭圆最长直径的一半。
  • 半短轴 ( b b b):椭圆最短直径的一半。
  • 焦距 ( 2 c 2c 2c):两焦点之间的距离,其中 c = a 2 − b 2 c = \sqrt{a^2 - b^2} c=a2−b2 。

这个公式表明了椭圆的焦距 2 c 2c 2c 与其半长轴 a a a 和半短轴 b b b 之间的关系。通过这个关系式,可以计算出给定半长轴和半短轴的椭圆的焦距。


对区域最小二乘拟合椭圆,它的形状和方向能够很好地代表该区域的形状和方向。

计算 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,yx⋅I(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,yy⋅I(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(x−xˉ)2⋅I(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(y−yˉ)2⋅I(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(x−xˉ)(y−yˉ)⋅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∘−θ。

一个例子

偏心率(Eccentricity)

偏心率(Eccentricity)是一个数学概念,主要用于描述圆锥曲线(包括圆、椭圆、抛物线和双曲线)的形状。偏心率的值可以帮助我们了解曲线的开口程度或偏离圆形的程度。以下是几种常见圆锥曲线的偏心率特点:

  1. :偏心率为 0。这意味着圆的所有点到中心的距离都是相同的,没有任何偏离。

  2. 椭圆:偏心率介于 0 和 1 之间(0 < e < 1)。偏心率越接近 0,椭圆越接近圆形;偏心率越接近 1,椭圆的扁平度越高,即两个焦点之间的距离越大。

  3. 抛物线:偏心率为 1。抛物线是一种特殊的圆锥曲线,它的一侧无限延伸,而另一侧则向一个焦点汇聚。

  4. 双曲线:偏心率大于 1(e > 1)。双曲线有两个分支,每个分支都向其对应的焦点汇聚。偏心率越大,双曲线的开口越宽。

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

相关推荐
只怕自己不够好16 分钟前
OpenCV 图像运算全解析:加法、位运算(与、异或)在图像处理中的奇妙应用
图像处理·人工智能·opencv
华清远见IT开放实验室2 小时前
【每天学点AI】实战图像增强技术在人工智能图像处理中的应用
图像处理·人工智能·python·opencv·计算机视觉
哈市雪花16 小时前
图像处理 之 凸包和最小外围轮廓生成
图像处理·人工智能·图形学·最小外围轮廓·最小外包
如若12316 小时前
实现了图像处理、绘制三维坐标系以及图像合成的操作
图像处理·人工智能
思通数科AI全行业智能NLP系统20 小时前
六大核心应用场景,解锁AI检测系统的智能安全之道
图像处理·人工智能·深度学习·安全·目标检测·计算机视觉·知识图谱
命里有定数21 小时前
Paper -- 洪水深度估计 -- 利用图像处理和深度神经网络绘制街道照片中的洪水深度图
图像处理·人工智能·dnn·洪水深度·高度估计
蚂蚁没问题s1 天前
图像处理 - 色彩空间转换
图像处理·人工智能·算法·机器学习·计算机视觉
KL's pig/猪头/爱心/猪头2 天前
在幸狐picomax SDK里面添加app
linux·图像处理
计算机科研之友(Friend)3 天前
【图像处理识别】数据集合集!
网络·图像处理·人工智能·计算机视觉·网络安全
jerry2011083 天前
图像预处理之图像滤波
图像处理·计算机视觉