我正在寻找使用 OpenCV 拟合高斯曲线。我可以有 1D 或 2D Mat
,我想计算矩阵上最佳高斯拟合的高斯参数。但是,我希望能够修复一些参数(例如高斯均值或方差)。我想拟合的一维模型如下:
y = a + (b - a) * exp( -( x - c )/( 2 * d^2 ) )
在 2D 的情况下Mat
,模型与多变量高斯函数相同。
OpenCV 是否有一些适合我的拟合需求的实现?如果是,你能提供一个例子或一些有用的链接吗?先感谢您。
我正在寻找使用 OpenCV 拟合高斯曲线。我可以有 1D 或 2D Mat
,我想计算矩阵上最佳高斯拟合的高斯参数。但是,我希望能够修复一些参数(例如高斯均值或方差)。我想拟合的一维模型如下:
y = a + (b - a) * exp( -( x - c )/( 2 * d^2 ) )
在 2D 的情况下Mat
,模型与多变量高斯函数相同。
OpenCV 是否有一些适合我的拟合需求的实现?如果是,你能提供一个例子或一些有用的链接吗?先感谢您。
拟合高斯曲线仅意味着计算其参数,在一维情况下是标量均值和方差。Mean = sum(Xi)/n
, variance = sum(Xi-mean)^2/(n-1)
, 其中^2
均方根。这对于 2D 案例变得更加有趣。平均值仍然以相同的方式计算,但它变成了一个二维向量。您计算的不是方差,而是像这样的协方差矩阵。它是 2x2 矩阵。
在 OpenCV 中没有什么可做的。但是,如果您导出方程(Hessian 矩阵等),您可以轻松地使用矩阵类型实现一些Levenberg-Marquardt估计过程。cv::Mat