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');

Окрашивайте точки на основе их атрибутов классификации.

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

Визуализируйте закодированное в цвете облако точек.

figure
pcshow(ptCloud.Location,colorData)

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

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

свернуть все

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

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

  • "Classification"

  • "GPSTimeStamp"

  • "LaserReturns"

  • "NearIR"

  • "ScanAngle"

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

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

Аргументы в виде пар имя-значение

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

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

Информация только для чтения, чтобы читать в облаке точек, определенном как разделенная запятой пара, состоящая из 'ROI' и вектор - строка с шестью элементами в порядке, [x минута x макс. y минута y макс. z минута z макс.]. Каждый элемент должен быть вещественным числом . Значения задают контуры информация только для чтения в осях 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 объект.

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

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

См. также

Функции

Объекты

Введенный в R2020b