3#include "decl_metric_segmentor_dense_point_cloud.hpp"
18 class AQS12DensePointCloudSegmentor final :
public DensePointCloudSegmentor
20 friend class DensePointCloudSegmentor;
23 AQS12DensePointCloudSegmentor(HandleGuard<DensePointCloudSegmentor> &&guard, PrivateTag) noexcept
24 : DensePointCloudSegmentor(
std::move(guard))
40 Internal::DoResCallShareOut<DensePointCloudSegmentor>([&](
void *&handle) {
41 return CVB_CALL_CAPI(CVMAQS12CreateSegmentorForDensePointCloud(
42 *
reinterpret_cast<const CExports::CVMAQS12SegmentationMethod *
>(&method), handle));
58 return Internal::DoResCallObjectOut<Image>([&](
void *&handle) {
60 CVMAQS12CreateFaceSegmentationImageFromDensePointCloud(cloud.
Handle(),
Handle(), handle));
82 return Internal::DoResCallObjectOut<Image>([&](
void *&handle) {
83 return CVB_CALL_CAPI(CVMAQS12CreateFaceSegmentationImageFromDensePointCloudRect(
84 cloud.
Handle(), aoi.Left(), aoi.Top(), aoi.Right(), aoi.Bottom(),
Handle(), handle));
100 CVB_CALL_CAPI(CVMAQS12ExtractProjectedPointsFromDensePointCloud(
101 cloud.
Handle(),
Handle(),
reinterpret_cast<Cvb::CExports::CVC3DPointD *
>(points.data())));
124 CVB_CALL_CAPI(CVMAQS12ExtractProjectedPointsFromDensePointCloudRect(
125 cloud.
Handle(), aoi.Left(), aoi.Top(), aoi.Right(), aoi.Bottom(),
Handle(),
126 reinterpret_cast<Cvb::CExports::CVC3DPointD *
>(points.data())));
A dense Cartesian 3D point cloud object.
Definition decl_dense_point_cloud.hpp:30
std::vector< Point3D< double > > ExtractProjectedPointsFromPiece(const DensePointCloud &cloud) override
Extracts 12 intersection points of the AQS12 calibration piece from the given dense point cloud.
Definition decl_metric_segmentor_dense_point_cloud_aqs12.hpp:97
static std::shared_ptr< AQS12DensePointCloudSegmentor > Create(const SegmentationMethod method)
Creates a AQS12 segmentor for dense point clouds based on given segmentation method.
Definition decl_metric_segmentor_dense_point_cloud_aqs12.hpp:37
std::vector< Point3D< double > > ExtractProjectedPointsFromPiece(const DensePointCloud &cloud, Rect< int > aoi) override
Extracts 12 intersection points of the AQS12 calibration piece from the dense point cloud on the give...
Definition decl_metric_segmentor_dense_point_cloud_aqs12.hpp:120
std::unique_ptr< Image > FaceSegmentationFromPiece(const DensePointCloud &cloud) override
Segments the AQS12 calibration piece from the given dense point cloud.
Definition decl_metric_segmentor_dense_point_cloud_aqs12.hpp:56
std::unique_ptr< Image > FaceSegmentationFromPiece(const DensePointCloud &cloud, Rect< int > aoi) override
Segments the AQS12 calibration piece from the dense point cloud on the given area of interest.
Definition decl_metric_segmentor_dense_point_cloud_aqs12.hpp:80
void * Handle() const noexcept
Returns C-API style handle to Node Object.
Definition decl_metric_segmentor_dense_point_cloud.hpp:123
void * Handle() const noexcept
Returns C-API style handle to Node Object.
Definition decl_point_cloud.hpp:773
Rectangle object.
Definition rect.hpp:24
Namespace for metric calibration.
Definition decl_metric_aqs12_calibration_piece.hpp:19
SegmentationMethod
Defines the segmentation method for labeling the faces of the calibration piece.
Definition metric.hpp:31
Namespace for the Foundation package.
Definition decl_metric_aqs12_calibration_piece.hpp:11
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
T dynamic_pointer_cast(T... args)