Подгонка прямой кривой OpenCV

Линия фитинга fitLine

void fitLine( InputArray points, OutputArray line, int distType,
              double param, double reps, double aeps );

точки: массив или вектор двумерных точек

линия: выходная прямая линия, вектор Vec4f (2d) или Vec6f (3d).

distType: тип расстояния

параметр: параметр расстояния

повторы: параметр радиальной точности

aeps: параметр точности угла

Тип расстояния может принимать следующие значения:

 эллипс фитинг fitEllipse

RotatedRect fitEllipse( InputArray points );

точки: двумерный набор точек, требующий как минимум 6 точек подгонки. Хранится в std::vector<> или Mat.

Выходные данные: прямоугольник типа RotatedRect, который является наименьшим описанным прямоугольником, соответствующим эллипсу.

Эта функция подбирается методом наименьших квадратов.

Подгонка многоугольника приблизительноPolyDP

void approxPolyDP( InputArray curve,OutputArray approxCurve,
                        double epsilon, bool closed);

кривая: набор входных точек
приблизительно. Кривая: набор выходных точек, текущий набор точек может минимально соответствовать указанному набору точек. При рисовании это многоугольник.
эпсилон: указанная точность, то есть максимальное расстояние между исходной кривой и приближенной кривой.
закрыто: если это правда, это означает, что приблизительная кривая закрыта; в противном случае, если это ложь, она открыта.

Эта функция реализована с помощью алгоритма Дугласа-Пойкера.

おすすめ

転載: blog.csdn.net/hulinhulin/article/details/133313665