3#include "decl_metric_segmentor_range_map.hpp"
18 class AQS12RangeMapSegmentor final :
public RangeMapSegmentor
20 friend class RangeMapSegmentor;
23 explicit AQS12RangeMapSegmentor(HandleGuard<RangeMapSegmentor> &&guard, PrivateTag) noexcept
37 Internal::DoResCallShareOut<RangeMapSegmentor>([&](
void *&handle) {
38 return CVB_CALL_CAPI(CVMAQS12CreateSegmentorForRangeMap(
39 *
reinterpret_cast<const CExports::CVMAQS12SegmentationMethod *
>(&method), handle));
53 return Internal::DoResCallObjectOut<Image>([&](
void *&handle) {
55 CVMAQS12CreateFaceSegmentationImageFromRangeMap(imagePlane.
Handle(), 0,
Handle(), handle));
71 return Internal::DoResCallObjectOut<Image>([&](
void *&handle) {
72 return CVB_CALL_CAPI(CVMAQS12CreateFaceSegmentationImageFromRangeMapRect(
88 CVB_CALL_CAPI(CVMAQS12ExtractProjectedPointsFromRangeMap(
89 imagePlane.
Handle(), 0,
Handle(),
reinterpret_cast<Cvb::CExports::CVC3DPointD *
>(points.data())));
108 CVB_CALL_CAPI(CVMAQS12ExtractProjectedPointsFromRangeMapRect(
110 reinterpret_cast<Cvb::CExports::CVC3DPointD *
>(points.data())));
static std::shared_ptr< AQS12RangeMapSegmentor > Create(const SegmentationMethod method)
Creates a AQS12 segmentor for range maps based on given segmentation method.
Definition decl_metric_segmentor_range_map_aqs12.hpp:34
std::vector< Point3D< double > > ExtractProjectedPointsFromPiece(const ImagePlane &imagePlane) override
Extracts 12 intersection points of the AQS12 calibration piece from the given range map.
Definition decl_metric_segmentor_range_map_aqs12.hpp:85
std::vector< Point3D< double > > ExtractProjectedPointsFromPiece(const ImagePlane &imagePlane, Rect< int > aoi) override
Extracts 12 intersection points of the AQS12 calibration piece from the range map on the given area o...
Definition decl_metric_segmentor_range_map_aqs12.hpp:104
std::unique_ptr< Image > FaceSegmentationFromPiece(const ImagePlane &imagePlane) override
Segments the AQS12 calibration piece from the given range map.
Definition decl_metric_segmentor_range_map_aqs12.hpp:51
std::unique_ptr< Image > FaceSegmentationFromPiece(const ImagePlane &imagePlane, Rect< int > aoi) override
Segments the AQS12 calibration piece from the range map on the given area of interest.
Definition decl_metric_segmentor_range_map_aqs12.hpp:69
void * Handle() const noexcept
Returns C-API style handle to Node Object.
Definition decl_metric_segmentor_range_map.hpp:133
Image plane information container.
Definition decl_image_plane.hpp:29
void * Handle() const noexcept override
Classic API image handle.
Definition detail_image_plane.hpp:35
Rectangle object.
Definition rect.hpp:24
T Bottom() const noexcept
Gets bottom row of the rectangle (still inside the rectangle).
Definition rect.hpp:144
T Top() const noexcept
Gets first row of the rectangle.
Definition rect.hpp:104
T Right() const noexcept
Gets rightmost column of the rectangle (still inside the rectangle).
Definition rect.hpp:124
T Left() const noexcept
Gets first column of the rectangle.
Definition rect.hpp:84
Namespace for metric calibration.
Definition decl_metric_aqs12_calibration_piece.hpp:13
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 version.hpp:11
T dynamic_pointer_cast(T... args)