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