Найдите контуры с помощью параболической модели
boundaries = findParabolicLaneBoundaries(xyBoundaryPoints,approxBoundaryWidth)[boundaries,boundaryPoints]
= findParabolicLaneBoundaries(xyBoundaryPoints,approxBoundaryWidth)[___] = findParabolicLaneBoundaries(___,Name,Value) использует согласие случайной выборки (RANSAC) алгоритм, чтобы найти параболические модели контура маршрута, которые соответствуют набору граничных точек и аппроксимированной ширины. Каждая модель в возвращенном массиве объектов boundaries = findParabolicLaneBoundaries(xyBoundaryPoints,approxBoundaryWidth)parabolicLaneBoundary содержит коэффициенты [A B C] своего полиномиального уравнения второй степени и силу граничной оценки.
[ также возвращает массив ячеек inlier граничных точек для каждой граничной найденной модели.boundaries,boundaryPoints]
= findParabolicLaneBoundaries(xyBoundaryPoints,approxBoundaryWidth)
[___] = findParabolicLaneBoundaries(___, опции использования заданы одним или несколькими аргументами пары Name,Value)Name,Value с любым из предыдущих синтаксисов.
Чтобы соответствовать одной граничной модели к двойному маркеру маршрута, установите аргумент approxBoundaryWidth быть достаточно большим, чтобы включать ширину, охватывающую оба маркера маршрута.
Эта функция использует fitPolynomialRANSAC, чтобы найти параболические модели. Поскольку этот алгоритм использует случайную выборку, вывод может отличаться между выполнениями.
Параметр maxDistance fitPolynomialRANSAC устанавливается на половину ширины, заданной в аргументе approxBoundaryWidth. Вопросы рассматриваются inliers, если они в граничной ширине. Функция получает итоговую граничную модель с помощью подгонки наименьших квадратов на точках inlier.
birdsEyePlot | birdsEyeView | fitPolynomialRANSAC | monoCamera | parabolicLaneBoundary | segmentLaneMarkerRidge