0.4.3
ClassicDeviceController.h
浏览该文件的文档.
1//
2// Created by ALSON08 on 2022/7/6.
3//
4
5#ifndef ALSON_CLASSIC_CLIENT_CLASSIC_DEVICE_CONTROLLER_H
6#define ALSON_CLASSIC_CLIENT_CLASSIC_DEVICE_CONTROLLER_H
7
8
9// std
10#include <string>
11#include <vector>
12
13// alson
16#include <alson/classic_base.h>
19
20
21namespace ALSON {
22
24class ClassicDeviceControllerImpl;
25using ClassicDeviceControllerImplPtr = std::shared_ptr<ClassicDeviceControllerImpl>;
27
43
44public:
46 explicit ClassicDeviceController(const ClientContextPtr& clientContextPtr);
48
53
54public:
69 void open();
70
87 void close();
88
103 bool isOpen();
104
120
137 void setDeviceEventListener(const ClassicDeviceEventListenerPtr& deviceEventListenerPtr);
138
166 std::vector<AlsonMat> captureSourceImage(bool isLatest);
167
195 std::vector<AlsonMat> captureTextureImage(bool isLatest);
196
226 AlsonMat scan(bool isDepthMode);
227
247
265 std::vector<AlsonMat> grabSourceImages();
266
284
306 void setUserMask(const AlsonMat& left, const AlsonMat& right);
307
308public:
326
342
359 PointUV pointXYZToUV(const PointXYZ& pointXYZ) const;
360
381 PointUV pointXYZToUV(float x, float y, float z) const;
382
399 std::vector<PointUV> pointXYZToUV(const PointCloud& pointCloud) const;
400
419 PointCloud addRGBForPointCloud(const PointCloud& pointCloud, const AlsonMat& textureImage) const;
420
443 PointCloud addRGBAndNormalForPointCloud(const PointCloud& pointCloud, const AlsonMat& textureImage, double radiusSearch, int totalThreads = 1) const;
444
465 AlsonMat alignTextureImage(const AlsonMat& textureImage);
466
487
508
556 PointCloud alignPointCloud(const PointCloud& pointCloud) const;
557
558protected:
559 virtual ClassicDeviceControllerImplPtr classicDeviceControllerImplPtr() const;
560
561private:
562 ClassicDeviceControllerImplPtr m_classicDeviceControllerImplPtr;
563}; // class ClassicDeviceController
564
565
566} // namespace ALSON
567
568
569#endif // !ALSON_CLASSIC_CLIENT_CLASSIC_DEVICE_CONTROLLER_H
AlsonMat alignTextureImage(const AlsonMat &textureImage)
ClassicDeviceController(const ClientContextPtr &clientContextPtr)
PointCloud addRGBForPointCloud(const PointCloud &pointCloud, const AlsonMat &textureImage) const
PointUV pointXYZToUV(float x, float y, float z) const
ClassicDeviceUtil createClassicDeviceUtil()
std::vector< AlsonMat > captureTextureImage(bool isLatest)
ClassicDeviceController & operator=(const ClassicDeviceController &)=default
std::vector< AlsonMat > captureSourceImage(bool isLatest)
ClassicDeviceController(const ClassicDeviceController &)=default
void setUserMask(const AlsonMat &left, const AlsonMat &right)
virtual ClassicDeviceControllerImplPtr classicDeviceControllerImplPtr() const
AlsonMat pointCloudToDepthImage(const PointCloud &pointCloud) const
void setDeviceEventListener(const ClassicDeviceEventListenerPtr &deviceEventListenerPtr)
ClassicDeviceController & operator=(ClassicDeviceController &&)=default
PointCloud alignPointCloud(const PointCloud &pointCloud) const
AlsonMat scan(bool isDepthMode)
std::vector< AlsonMat > grabSourceImages()
std::vector< PointUV > pointXYZToUV(const PointCloud &pointCloud) const
PointCloud depthImageToPointCloud(const AlsonMat &depthImage) const
ClassicDeviceController(ClassicDeviceController &&)=default
PointCloud addRGBAndNormalForPointCloud(const PointCloud &pointCloud, const AlsonMat &textureImage, double radiusSearch, int totalThreads=1) const
PointUV pointXYZToUV(const PointXYZ &pointXYZ) const
std::shared_ptr< ClientContext > ClientContextPtr
#define ALSON_API
std::shared_ptr< ClassicDeviceEventListener > ClassicDeviceEventListenerPtr
My Custom Doxygen Footer
Data Processing Programmer's Guide 0.4.3
Copyright © 2014-2024 Henan Alson Intelligent Technology Co, Ltd 河南埃尔森智能科技有限公司 版权所有 豫ICP备15002212号