Гауссовская кривая OpenCV

0

Я ищу установку кривой Гаусса с помощью OpenCV. У меня может быть 1D или 2D Mat, и я бы хотел рассчитать гауссовские параметры наилучшего гауссовского соответствия по матрице. Тем не менее, я хотел бы иметь возможность исправить некоторый параметр (например, значение Гаусса или дисперсия). Модель 1D, которую я хотел бы подобрать, такова:

y = a + (b - a) * exp( -( x - c )/( 2 * d^2 ) )

В случае 2D Mat модель одинакова для многовариантной гауссовой функции.

Имеет ли OpenCV некоторую реализацию, подходящую для моих подходящих потребностей? Если да, можете ли вы привести пример или некоторые полезные ссылки? Заранее спасибо.

Теги:
opencv
algorithm
curve-fitting

2 ответа

0

Приведение гауссовой кривой просто означает вычисление ее параметров, которые в 1D случае являются скалярным средним и дисперсией. Mean = sum(Xi)/n, variance = sum(Xi-mean)^2/(n-1), где ^2 означает квадрат. Это становится более интересным для 2D-случая. Среднее значение по-прежнему вычисляется одинаково, но оно становится двумерным вектором. Вместо того, чтобы рассчитать дисперсию ковариационной матрицы, как это. Это 2x2 матрица.

-1

В OpenCV ничего не поделаешь. Однако, если вы вывести уравнения (матрица Гессиана и т.д.), Вы можете легко реализовать некоторую процедуру оценки Левенберга-Марквардта с матричным типом cv::Mat.

  • 0
    В самом деле? LM является решением всех проблем, включая подгонку гауссовой кривой?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню