pcbin

Пространственно точки облака точек интервала

Описание

пример

bins = pcbin(ptCloud,numBins) пространственно сетки указывают в облаке точек, ptCloud. Выход bins хранит пространственные местоположения интервала, которые являются индексами для точек. Функция находит местоположения интервала путем выборки облака точек в каждой размерности количеством интервалов, заданных numBins.

bins = pcbin(ptCloud,numBins,spatialLimits) задает пространственные пределы, чтобы использовать, когда функция помещает точки в интервалы.

[bins,binLocations] = pcbin(___) также возвращает binLocations, пространственные границы каждого интервала в bins. binLocations одного размера с bins.

[___] = pcbin(___,'BinOutput',true) также задает формат bins и binLocations вывод .

Когда вы устанавливаете 'BinOutputtrueИнтервалы и binLocations возвращены как массивы ячеек размера [numBinsX, numBinsY, numBinsZ].

Когда вы устанавливаете 'BinOutputfalse и ptCloud неорганизованные облака точек, bins возвращен как M-by-1 числовой вектор. binLocations возвращен как M-by-6 матрица.

Когда вы устанавливаете 'BinOutputfalse и ptCloud организованные облака точек, bins возвращен M-by-N матрица. binLocations возвращен как M-by-N-by-6 матрица.

Примеры

свернуть все

Считайте данные об облаке точек в рабочую область.

ptCloud = pcread('teapot.ply');

Пространственно интервал облако точек в 32 32 32 сетками.

indices = pcbin(ptCloud,[32 32 32]);

Создайте occupany сетку.

occupancyGrid = cellfun(@(c) ~isempty(c), indices);

Отобразите occupany сетку.

ViewPnl = uipanel(figure);
volshow(occupancyGrid,'Parent',ViewPnl);

Считайте данные об облаке точек в рабочую область.

ptCloud = pcread('teapot.ply');

Пространственно интервал облако точек в 32 32 1 сеткой.

indices = pcbin(ptCloud,[32 32 1]);

Создайте сетку плотности.

densityGrid = cellfun(@(c) ~isempty(c),indices);

Отобразите сетку плотности.

figure;
imagesc(densityGrid);

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

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

свернуть все

Облако точек в виде pointCloud объект.

Количество интервалов в виде трехэлементного вектора из формы [numBinsX, numBinsY, numBinsZ]. Векторные элементы указывают на количество интервалов, чтобы использовать в каждой размерности, соответственно.

Пространственные пределы в виде 3 2 числовой матрицы формы [Xmin, Xmax; Ymin, Ymax; Zmin, Zmax]. Пространственные пределы задают границы, используемые, когда функциональные интервалы указывают. Точки, которые находятся вне заданных пределов, не включены в выход.

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

свернуть все

Пространственные местоположения интервала, возвращенные как массив ячеек одного размера с входом numBins, M-by-1 числовой вектор или M-by-N матрица. Функция возвращает массив ячеек, когда вы не используете 'BinOutput'аргумент. Каждая ячейка в массиве содержит индексы к местоположениям точек в облаке точки ввода, которые задают интервалы. Каждый интервал включает левую границу интервала, за исключением последнего интервала, который включает обе границы интервала.

Таблица описывает размер bins базирующийся, как вы задаете 'BinOutput'аргумент, и ли ptCloud не организован или организован.

'BinOutput'bins
trueмассивы ячеек размера [numBinsX, numBinsY, numBinsZ]
false

Неорганизованные облака точек

M-by-1 числовой вектор

, где M представляет число точек.

Организованные облака точек

M-by-N матрица, где M и N представляют общее количество точек, настроенных как организованное облако точек.

Недопустимые точки функциональных процессов по-другому, в зависимости от того, как вы задаете 'BinOutput'аргумент. Недопустимые точки являются точками с координатами, которые содержат Inf или NaN . Когда вы устанавливаете 'BinOutputtrue, функция игнорирует недопустимые точки и не включает их в выход. Когда вы устанавливаете 'BinOutputfalse, функция возвращает NaN значения для недопустимых точек.

Интервал пространственные границы, возвращенные как массив ячеек тот же размер как выход bins, массивы ячеек размера [numBinsX, numBinsY, numBinsZ], M-by-6 матрица или M-by-N-by-6 матрица. Функция возвращает массив ячеек, когда вы не используете 'BinOutput'аргумент. Каждая ячейка в массиве содержит пространственные границы интервалов в bins. Границы для интервала имеют форму [Xmin, Xmax; Ymin, Ymax; Zmin, Zmax].

Таблица описывает размер binLocations базирующийся, как вы задаете 'BinOutput'аргумент, и ли ptCloud не организован или организован.

'BinOutput'binLocations
trueмассивы ячеек размера [numBinsX, numBinsY, numBinsZ]
false

Неорганизованные облака точек:

M-by-6 матрица, где M представляет число точек, расположенное в интервале, заданном [Xmin, Xmax; Ymin, Ymax; Zmin, Zmax] пространственный связанный.

Организованные облака точек:

M-by-N-by-6 матрица, где M и N представляют число точек в организованном облаке точек, с каждой точкой, расположенной в интервале, заданном [Xmin, Xmax; Ymin, Ymax; Zmin, Zmax] пространственный связанный.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

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

Функции

Объекты

Введенный в R2020a