Spec-Zone.ru › PointCloudLibrary
Grabber для устройств DINAST (например, IPA-1002, IPA-1110, IPA-2001) Подробнее...
#include <pcl/io/dinast_grabber.h >
Захватчик для устройств DINAST (например, IPA-1002, IPA-1110, IPA-2001)
Автор
Marco A. Gutierrez marco.nosp@m. g@un.nosp@m. ex.es
Определение в строке 59 файла dinast_grabber.h .
анонимное перечисление
Значения команд устройства.
Элемент перечисления
CMD_READ_START
CMD_READ_STOP
CMD_GET_VERSION
CMD_SEND_DATA
Определение в строке 203 файла dinast_grabber.h .
pixel_size
Размер пикселя.
Элемент перечисления
RAW8
RGB16
RGB24
RGB32
Определение в строке 183 файла dinast_grabber.h .
DinastGrabber() pcl::DinastGrabber::DinastGrabber ( const int
device_position = 1
)
Конструктор, задающий константы захватчика.
Параметры
[in]
device_position
Номер устройства, данные с которого нужно захватывать
~DinastGrabber() pcl::DinastGrabber::~DinastGrabber (
)
переопределённый не выбрасывает исключений
Деструктор.
Не выбрасывает исключений.
captureThreadFunction() void pcl::DinastGrabber::captureThreadFunction (
)
защищённый
Функция, отвечающая за получение данных с камеры.
checkHeader() int pcl::DinastGrabber::checkHeader (
)
защищённый
Проверяет наличие заголовка в глобальном буфере и возвращает позицию следующего корректного изображения.
Примечание
Если изображение в буфере неполное, возвращает -1, поскольку необходимо дождаться добавления новых данных.
Возвращает
позицию следующего корректного изображения (то есть сразу после корректного заголовка) или -1, если в буфере нет изображения либо оно неполное
getDeviceVersion() std::string pcl::DinastGrabber::getDeviceVersion (
)
Возвращает номер версии открытого в данный момент устройства.
getFramesPerSecond() float pcl::DinastGrabber::getFramesPerSecond (
) const
переопределённый виртуальный
Возвращает количество кадров в секунду (FPS).
Реализует pcl::Grabber .
getName() std::string pcl::DinastGrabber::getName (
) const
встроенный переопределённый виртуальный
getXYZIPointCloud()
Создаёт облако точек XYZI на основе изображения с камеры.
Возвращает
облако точек, полученное из данных изображения
isRunning() bool pcl::DinastGrabber::isRunning (
) const
переопределённый виртуальный
Проверяет, запущен ли захватчик.
Возвращает
true, если захватчик запущен или выполняет потоковую передачу данных; в противном случае — false.
Реализует pcl::Grabber .
onInit() void pcl::DinastGrabber::onInit ( const int device_id
)
защищённый
Обработка при инициализации.
readImage() void pcl::DinastGrabber::readImage (
)
защищённый
Считывает данные изображения и сохраняет их в image_.
setupDevice() void pcl::DinastGrabber::setupDevice ( int
device_position , const int
id_vendor = 0x18d1, const int
id_product = 0x1402 )
защищённый
Настраивает устройство камеры Dinast 3D.
Параметры
[in]
device_position
Номер устройства, данные с которого нужно захватывать
[in]
id_vendor
Идентификатор производителя камеры (должен быть 0x18d1)
[in]
id_product
Идентификатор продукта (должен быть 0x1402)
start() void pcl::DinastGrabber::start (
)
переопределённый виртуальный
stop() void pcl::DinastGrabber::stop (
)
переопределённый виртуальный
USBRxControlData() bool pcl::DinastGrabber::USBRxControlData ( const unsigned char
req_code , unsigned char *
buffer , int
length )
защищённый
Отправляет запрос на получение пакета данных RX.
Параметры
[in]
req_code
запрос для отправки (поле запроса пакета настройки)
buffer
[in]
length
поле длины пакета настройки. Буфер данных должен быть не меньше указанного размера.
USBTxControlData() bool pcl::DinastGrabber::USBTxControlData ( const unsigned char
req_code , unsigned char *
buffer , int
length )
защищённый
Отправляет запрос на передачу пакета данных TX.
Параметры
[in]
req_code
запрос для отправки (поле запроса пакета настройки)
buffer
[in]
length
поле длины пакета настройки. Буфер данных должен быть не меньше указанного размера.
bulk_ep_ unsigned char pcl::DinastGrabber::bulk_ep_ {std::numeric_limits<unsigned char>::max ()}
защищённый
capture_mutex_ std::mutex pcl::DinastGrabber::capture_mutex_
изменяемый защищённый
capture_thread_ std::thread pcl::DinastGrabber::capture_thread_
защищённый
context_ libusb_context* pcl::DinastGrabber::context_ {nullptr}
защищённый
device_handle_ struct libusb_device_handle* pcl::DinastGrabber::device_handle_ {nullptr}
protected
dist_max_2d_ double pcl::DinastGrabber::dist_max_2d_ {1. / (image_width_ / 2.)}
protected
fov_ double pcl::DinastGrabber::fov_ {64. * M_PI / 180.}
protected
g_buffer_ boost::circular_buffer<unsigned char> pcl::DinastGrabber::g_buffer_
protected
image_ unsigned char* pcl::DinastGrabber::image_ {nullptr}
protected
image_height_ int pcl::DinastGrabber::image_height_ {240}
protected
image_size_ image_width_ int pcl::DinastGrabber::image_width_ {320}
protected
point_cloud_signal_ boost::signals2::signal<sig_cb_dinast_point_cloud>* pcl::DinastGrabber::point_cloud_signal_
protected
raw_buffer_ unsigned char* pcl::DinastGrabber::raw_buffer_ {nullptr}
protected
Временный буфер чтения USB: поскольку за раз считываются два изображения RGB16, его размер вдвое превышает размер двух изображений плюс размер пакета синхронизации.
Определение в строке 194 файла dinast_grabber.h .
running_ bool pcl::DinastGrabber::running_ {false}
protected
second_image_ bool pcl::DinastGrabber::second_image_ {false}
protected
Поскольку после первого изображения заголовок отсутствует, необходимо сохранить состояние.
Определение в строке 208 файла dinast_grabber.h .
sync_packet_size_ int pcl::DinastGrabber::sync_packet_size_ {512}
protected
Документация этого класса сгенерирована из следующего файла: