readPointCloud

Считайте данные об облаке точек из LAS или файла LAZ

Описание

пример

ptCloud = readPointCloud(lasReader) считывает данные об облаке точек из LAS или файла LAZ, обозначенного входом lasFileReader возразите и возвращает его как pointCloud объект, ptCloud.

пример

[ptCloud,ptAttributes] = readPointCloud(lasReader,'Attributes',ptAtt) читает заданные атрибуты точки, ptAtt, от LAS или файла LAZ. В дополнение к облаку точек функция возвращает структуру, ptAttributes, содержа заданные атрибуты каждой точки в облаке точек.

[___] = readPointCloud(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к любой из комбинаций аргументов в предыдущих синтаксисах. Например, 'ROI',[5 10 5 10 5 10] устанавливает видимую область (ROI), в которой функция читает облако точек.

Примеры

свернуть все

Создайте lasFileReader объект для файла LAZ. Затем используйте readPointCloud функционируйте, чтобы считать данные об облаке точек из файла LAZ и сгенерировать pointCloud объект.

Создайте lasFileReader возразите, чтобы получить доступ к данным о файле LAZ.

path = fullfile(toolboxdir('lidar'),'lidardata', ...
    'las','aerialLidarData.laz');
lasReader = lasFileReader(path);

Считайте данные об облаке точек из файла LAZ с помощью readPointCloud функция.

ptCloud = readPointCloud(lasReader);

Визуализируйте облако точек.

figure
pcshow(ptCloud.Location)

Выделяйте и визуализируйте данные об облаке точек на основе данных о классификации из файла LAZ.

Создайте lasFileReader возразите, чтобы получить доступ к данным из файла LAZ.

path = fullfile(toolboxdir('lidar'),'lidardata', ...
    'las','aerialLidarData.laz');
lasReader = lasFileReader(path);

Считайте данные об облаке точек и сопоставленные атрибуты точки классификации из файла LAZ с помощью readPointCloud функция.

[ptCloud,pointAttributes] = readPointCloud(lasReader,'Attributes','Classification');

Окрасьте точки на основе их атрибутов классификации. Измените изображение метки в форму облака точек.

labels = label2rgb(pointAttributes.Classification);
colorData = reshape(labels,[],3);

Визуализируйте облако точек, на которое наносят цветную маркировку.

figure
pcshow(ptCloud.Location,colorData)

Figure contains an axes object. The axes object contains an object of type scatter.

Входные параметры

свернуть все

LAS или средство чтения файлов LAZ в виде lasFileReader объект.

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

  • "Classification"

  • "GPSTimeStamp"

  • "LaserReturns"

  • "NearIR"

  • "ScanAngle"

Функция возвращает заданные атрибуты каждой точки как ptAttributes структура, с именами полей, которые соответствуют заданным атрибутам.

Типы данных: char | string

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'ROI',[5 10 5 10 5 10] устанавливает видимую область (ROI), в которой функция читает облако точек.

ROI, чтобы читать в облаке точек в виде разделенной запятой пары, состоящей из 'ROI' и вектор-строка с шестью элементами в порядке, [min x x макс. min y y макс. min z z макс.]. Каждым элементом должно быть вещественное число. Значения задают контуры ROI в x - y - и z - ось.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Область значений GPS устанавливает метку времени в виде разделенной запятой пары, состоящей из 'GpsTimeSpan' и двухэлементный вектор из duration объекты, который обозначает [startTime endTime]. Метки времени должны быть положительными.

Типы данных: duration

Классификационные индексы интереса в виде разделенной запятой пары, состоящей из 'Classification' и вектор из допустимых классификационных индексов.

Допустимые классификационные индексы лежат в диапазоне от 0 до 255.

Классификационный индексТип классификации
0Созданный, никогда классифицируемый
1Несекретный
2Земля
3Низкая растительность
4Средняя растительность
5Высокая растительность
6Создание
7Нижняя точка (шум)
8Зарезервированный
9Вода
10Направляющая
11Дорожное покрытие
12Зарезервированный
13Проводная защита (щит)
14Соедините проводник (фаза)
15Башня передачи
16Коннектор проводной структуры (изолятор)
17Настил моста
18Высокий шум
19- 63 Зарезервированный
64- 255 Пользовательский

Это имена стандартного класса и отображения объекта класса. Определение класса и отображение могут отличаться от стандарта в зависимости от приложения, которое создало LAS или файл LAZ.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Число точек, отдельное их числами возврата в виде разделенной запятой пары, состоящей из 'LaserReturns' и вектор из допустимых чисел возврата. Допустимые числа возврата являются целыми числами от 1 до значения NumReturns свойство входа lasFileReader объект. Для каждого значения, i, в векторе, функция возвращает облако точек только точек, которые имеют i как их номер возврата.

Номер возврата является числом раз, которое лазерный импульс отражает назад к датчику.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Облако точек, возвращенное как pointCloud объект.

Укажите данные об атрибутах, возвращенные как структура полей, которые соответствуют атрибутам точки. ptAtt введите задает поля для этой структуры. Структура содержит данные для заданных атрибутов каждой точки в ptCloud вывод .

Типы данных: struct

Смотрите также

Функции

Объекты

Введенный в R2020b