Вставьте контур маршрута в изображение
вставляет разметку контура маршрута в изображение труколора. Полосы на вход дорожном изображении, rgb = insertLaneBoundary(I,boundaries,sensor,xVehicle)I. Это изображение получено из датчика, указанного в sensor объект. xVehicle задает x -согласования, при которых рисуются маркеры маршрута. Координаты y вычисляются на основе параметров граничных моделей в boundaries.
вставляет разметку контура маршрута с дополнительными опциями, заданными одним или несколькими rgb = insertLaneBoundary(___,Name,Value)Name,Value парные аргументы, с использованием предыдущих входных параметров.
Поиск полос на изображении с помощью параболических моделей контура маршрута. Наложите выявленные полосы на оригинальное изображение и на птичий взгляд преобразования изображения.
Загрузите изображение дороги с полосами. Изображение было получено с датчика камеры, установленного на передней части транспортного средства.
I = imread('road.png');Преобразуйте изображение в изображение вида птицы с помощью предварительно сконфигурированного объекта датчика. Этот объект моделирует датчик, который запечатлел оригинальное изображение.
bevSensor = load('birdsEyeConfig');
birdsEyeImage = transformImage(bevSensor.birdsEyeConfig,I);
imshow(birdsEyeImage)
Установите приблизительную ширину маркера маршрута в мировых единицах измерения (метрах).
approxBoundaryWidth = 0.25;
Обнаружите функции маршрута и отобразите их как черно-белое изображение.
birdsEyeBW = segmentLaneMarkerRidge(im2gray(birdsEyeImage), ...
bevSensor.birdsEyeConfig,approxBoundaryWidth);
imshow(birdsEyeBW)
Получите точки маршрута в мировых координатах.
[imageX,imageY] = find(birdsEyeBW); xyBoundaryPoints = imageToVehicle(bevSensor.birdsEyeConfig,[imageY,imageX]);
Найти контуры маршрута на изображении при помощи findParabolicLaneBoundaries функция. По умолчанию функция возвращает максимум два контуров маршрута. Контуры хранятся в массиве parabolicLaneBoundary объекты.
boundaries = findParabolicLaneBoundaries(xyBoundaryPoints,approxBoundaryWidth);
Использование insertLaneBoundary для наложения полос на оригинальное изображение. The XPoints вектор представляет точки маршрута, в метрах, которые находятся в пределах области значений датчика автомобиль , оборудованный датчиком. Задайте полосы в разных цветах. По умолчанию дорожки являются желтыми.
XPoints = 3:30; figure sensor = bevSensor.birdsEyeConfig.Sensor; lanesI = insertLaneBoundary(I,boundaries(1),sensor,XPoints); lanesI = insertLaneBoundary(lanesI,boundaries(2),sensor,XPoints,'Color','green'); imshow(lanesI)

Просмотрите дорожки на изображении с видом на глаз птицы.
figure BEconfig = bevSensor.birdsEyeConfig; lanesBEI = insertLaneBoundary(birdsEyeImage,boundaries(1),BEconfig,XPoints); lanesBEI = insertLaneBoundary(lanesBEI,boundaries(2),BEconfig,XPoints,'Color','green'); imshow(lanesBEI)

I - Входное дорожное изображениеВходное дорожное изображение, заданное как truecolor или полутоновое изображение.
Типы данных: single | double | int8 | int16 | uint8 | uint16
boundaries - Модели контура маршрутаparabolicLaneBoundary объекты | массив cubicLaneBoundary объектыМодели контура маршрута, заданные как массив parabolicLaneBoundary объекты или cubicLaneBoundary объекты. Модели контуров маршрута содержат следующие свойства:
Parameters - вектор, соответствующий коэффициентам краевой модели. Размер вектора зависит от степени полинома для модели.
| Объект контура маршрута | Параметры |
|---|---|
parabolicLaneBoundary |
|
cubicLaneBoundary | [A B C D], соответствующий коэффициентам полиномиального уравнения третьей степени вида y = Ax3 + Bx2 + Cx + D |
BoundaryType - A LaneBoundaryType перечисление поддерживаемых контуров маршрута:
Unmarked
Solid
Dashed
BottsDots
DoubleSolid
Задайте тип контура маршрута как LaneBoundaryType . Для примера:BoundaryType.
LaneBoundaryType.BottsDots
Strength - Отношение количества уникальных x -осей на контуре к общему числу точек вдоль линии на основе XExtent свойство.
XExtent - Двухэлементный вектор, описывающий минимальное и максимальное x местоположение оси для граничных точек.
sensor - Датчик, который собирает изображенияbirdsEyeView | объекта monoCamera объектДатчик, который собирает изображения, заданный как birdsEyeView или monoCamera объект.
xVehicle - x -осей контураx местоположения осей, в которых можно отобразить контуры маршрута, заданные как действительный вектор в координатах транспортного средства. Интервал между точками управляет интервалом между штрихами и точками для соответствующих типов контуров. Чтобы четко показать штриховые контуры, задайте как минимум четыре точки в xVehicle. Если задано менее четырех точек, функция рисует сплошной контур.
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
'Color',[0 1 0]'Color' - Цвет контуров маршрута'yellow' (по умолчанию) | вектор символов | строковый скаляр | [R,G,B] вектор RGB оценивает | массив ячеек векторов символов | строковые массивы | Цвет контуров маршрута, заданный как вектор символов, строковый скаляр или [R,G,B] вектор значений RGB. Можно задать определенные цвета для каждого контура в boundaries с массивом ячеек из векторов символов, строковых массивов или матрицы m -by-3 значений RGB. Цвета соответствуют порядку граничных полос.
Значения RGB должны быть в область значений типа данных изображений.
Поддерживаемые значения цвета 'blue', 'green', 'red', 'cyan', 'magenta', 'yellow', 'black', и 'white'.
Пример: 'red'
Пример: [1,0,0]
'LineWidth' - Ширина линии для граничных полос движения3 (по умолчанию) | положительное целое числоШирина линии для граничных полос, заданная в виде положительного целого числа в пикселях.
rgb - Изображение с граничными полосамиИзображение с наложенными граничными полосами, возвращенное как изображение RGB truecolor. Класс выходного изображения соответствует входу изображению I.
birdsEyeView | cubicLaneBoundary | fitPolynomialRANSAC | monoCamera | parabolicLaneBoundary
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.