13 #if defined _WIN32 || defined __CYGWIN__ 16 #define RVC_EXPORT __attribute__((dllexport)) 18 #define RVC_EXPORT __declspec(dllexport) // Note: actually gcc seems to also supports this syntax. 22 #define RVC_EXPORT __attribute__((dllimport)) 24 #define RVC_EXPORT __declspec(dllimport) // Note: actually gcc seems to also supports this syntax. 27 #define RVC_NOT_EXPORT 30 #define RVC_EXPORT __attribute__((visibility("default"))) 31 #define RVC_NOT_EXPORT __attribute__((visibility("hidden"))) 34 #define RVC_NOT_EXPORT 64 Handle(HandleID sid_, HandleID gid_) : sid(sid_), gid(gid_) {}
113 Size() : width(0), height(0) {}
120 Size(
int w,
int h) : width(w), height(h) {}
133 int32_t height, rows;
146 return lhs.width == rhs.width && lhs.height == rhs.height;
157 return lhs.width != rhs.width || lhs.height != rhs.height;
169 ROI() : x(0), y(0), width(0), height(0) {}
178 ROI(
int x,
int y,
int w,
int h) : x(x), y(y), width(w), height(h) {}
289 static const char *ToString(ImageType::Enum type);
296 static size_t GetPixelSize(ImageType::Enum type);
313 static Image Create(ImageType::Enum it,
const Size sz,
unsigned char *data =
nullptr,
bool own_data =
true);
314 static Image CreateFromFile(
const char *addr);
321 static void Destroy(
Image img,
bool no_reuse =
true);
332 bool IsValid()
const;
338 Size GetSize()
const;
344 ImageType::Enum GetType()
const;
350 unsigned char *GetDataPtr()
const;
356 const unsigned char *GetDataConstPtr()
const;
365 bool SaveImage(
const char *addr)
const;
386 static DepthMap Create(
const Size sz,
double *data =
nullptr,
bool own_data =
true);
394 static void Destroy(
DepthMap depthmap,
bool no_reuse =
true);
414 double *GetDataPtr();
420 const double *GetDataConstPtr();
431 bool SaveDepthMap(
const char *address,
bool is_m =
true);
450 static ConfidenceMap Create(
const Size sz,
double *data =
nullptr,
bool own_data =
true);
458 static void Destroy(
ConfidenceMap confidencemap,
bool no_reuse =
true);
479 double *GetDataPtr();
485 const double *GetDataConstPtr();
515 static const char *ToString(
enum Enum e);
531 static const char *ToString(
Enum e);
564 static void Destroy(
PointMap pm,
bool no_reuse =
true);
581 bool IsValid()
const;
587 Size GetSize()
const;
593 double *GetPointDataPtr();
599 double *GetNormalDataPtr();
605 const double *GetPointDataConstPtr()
const;
611 const double *GetNormalDataConstPtr()
const;
624 bool GetPointMapSeperated(
double *x,
double *y,
double *z,
const double scale = 1.0);
642 uint64_t GetTimestamp()
const;
654 bool SetTimestamp(
const uint64_t timestamp);
664 static Mesh CreateFromPointMapData(
const Size &size,
const double *data =
nullptr,
665 const double &z_threshold = 0.01);
666 static Mesh CreateFromPointMap(
const PointMap &pm,
const double &z_threshold = 0.01);
668 static void Destroy(
Mesh mesh,
bool no_reuse =
true);
669 bool IsValid()
const;
670 Size GetSize()
const;
671 double *GetMeshPointDataPtr();
672 int *GetMeshIndexDataPtr();
673 const double *GetMeshPointDataConstPtr()
const;
674 const int *GetMeshIndexDataConstPtr()
const;
675 const int &GetMeshIndexNum()
const;
682 static CorrespondMap Create(
const Size sz,
double *data =
nullptr,
bool own_data =
true);
683 static void Destroy(
CorrespondMap correspondMap,
bool no_reuse =
true);
687 double *GetDataPtr();
688 const double *GetDataConstPtr();
726 CameraID_Left = CameraID_0,
727 CameraID_Right = CameraID_1,
728 CameraID_Both = CameraID_Left | CameraID_Right,
729 CameraID_Extra = CameraID_2
751 NetworkType_DHCP = 0,
752 NetworkType_STATIC = 1,
761 ProjectorColor_None = 0,
762 ProjectorColor_Red = 1,
763 ProjectorColor_Green = 2,
764 ProjectorColor_Blue = 4,
765 ProjectorColor_White = 8,
766 ProjectorColor_ALL = ProjectorColor_Red | ProjectorColor_Green | ProjectorColor_Blue | ProjectorColor_White,
774 ProtectiveCoverStatus_Unknown = 0,
775 ProtectiveCoverStatus_Closed = 1,
776 ProtectiveCoverStatus_Closing = 2,
777 ProtectiveCoverStatus_Open = 3,
778 ProtectiveCoverStatus_Opening = 4,
786 BalanceSelector_None = 0,
788 BalanceSelector_Green,
789 BalanceSelector_Blue,
797 NetworkDevice_LightMachine = 0,
798 NetworkDevice_LeftCamera = 1,
799 NetworkDevice_RightCamera = 2,
800 NetworkDevice_ExtraCamera = 3,
809 NetworkDeviceStatus_OK,
810 NetworkDeviceStatus_Not_Reachable,
811 NetworkDeviceStatus_In_Use,
812 NetworkDeviceStatus_Conflict,
821 CaptureMode_Fast = 1 << 0,
822 CaptureMode_Normal = 1 << 1,
823 CaptureMode_Ultra = 1 << 2,
824 CaptureMode_Robust = 1 << 3,
825 CaptureMode_AntiInterReflection = 1 << 4,
826 CaptureMode_SwingLineScan = 1 << 5,
827 CaptureMode_FixedLineScan = 1 << 6,
828 CaptureMode_LineArrayShift = 1 << 7,
829 CaptureMode_All = CaptureMode_Fast | CaptureMode_Normal | CaptureMode_Ultra | CaptureMode_Robust |
830 CaptureMode_AntiInterReflection | CaptureMode_SwingLineScan | CaptureMode_FixedLineScan |
831 CaptureMode_LineArrayShift,
905 char factroydate[32];
912 int workingdist_near_mm;
913 int workingdist_far_mm;
914 char firmware_version[128];
917 bool support_protective_cover;
919 bool support_hardware_trigger;
932 static void Destroy(
Device d);
939 bool IsValid()
const;
964 const char *gateway);
985 int AutoConfigureNetwork();
993 bool UpgradeFirmware(
const char *device_firmware_path,
const char *config_data_path);
1000 bool IsFirmwareMatch(
void);
1085 enum CameraTempSelector {
1086 CameraTempSelector_Camera,
1087 CameraTempSelector_CoreBoard,
1088 CameraTempSelector_FpgaCore,
1089 CameraTempSelector_Framegrabberboard,
1090 CameraTempSelector_Sensor,
1091 CameraTempSelector_SensorBoard,
1094 enum SmoothnessLevel { SmoothnessLevel_Off, SmoothnessLevel_Weak, SmoothnessLevel_Normal, SmoothnessLevel_Strong };
1097 typedef void *UserPtr;
1115 calc_normal =
false;
1116 transform_to_camera =
true;
1117 use_auto_noise_removal =
true;
1118 noise_removal_distance = 0;
1119 noise_removal_point_number = 40;
1120 light_contrast_threshold = 3;
1121 phase_filter_range = 0;
1122 projector_brightness = 240;
1123 exposure_time_2d = 11;
1124 exposure_time_3d = 11;
1127 hdr_exposure_times = 0;
1128 hdr_exposuretime_content[0] = 11;
1129 hdr_exposuretime_content[1] = 20;
1130 hdr_exposuretime_content[2] = 50;
1135 hdr_scan_times[0] = 1;
1136 hdr_scan_times[1] = 1;
1137 hdr_scan_times[2] = 1;
1139 hdr_projector_brightness[0] = 240;
1140 hdr_projector_brightness[1] = 240;
1141 hdr_projector_brightness[2] = 240;
1142 calc_normal_radius = 5;
1145 use_projector_capturing_2d_image =
true;
1146 smoothness = SmoothnessLevel_Off;
1147 downsample_distance = 0.0;
1148 capture_mode = CaptureMode_Normal;
1149 confidence_threshold = 0;
1151 truncate_z_min = -9999.f;
1152 truncate_z_max = 9999.f;
1153 bilateral_filter_kernal_size = 0;
1154 bilateral_filter_depth_sigma = 0;
1155 bilateral_filter_space_sigma = 0;
1157 use_auto_bilateral_filter =
true;
1158 reflection_filter_threshold = 0;
1159 smooth_sigma = 1.75;
1160 enable_2d_in_capture =
true;
1247 int hdr_exposuretime_content[3];
1252 float hdr_gain_3d[3];
1258 int hdr_scan_times[3];
1264 int hdr_projector_brightness[3];
1289 "smoothness has been deprecated in CPU version,use smooth_sigma instead")]] SmoothnessLevel
smoothness;
1399 CoordinateSelect_Disabled,
1400 CoordinateSelect_Camera,
1401 CoordinateSelect_CaliBoard,
1405 : coordinate_select(CoordinateSelect_Disabled), transform{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1} {}
1418 double transform[16];
1461 static void Destroy(
X1 &x);
1503 bool IsPhysicallyConnected();
1510 bool OpenProtectiveCover();
1517 bool OpenProtectiveCoverAsync();
1524 bool CloseProtectiveCover();
1531 bool CloseProtectiveCoverAsync();
1538 bool ResetProtectiveCover();
1567 bool SetCalculationCallBack(X1::CalculationCallBackPtr cb, UserPtr ctx);
1611 bool SetBandwidth(
float percent);
1620 bool GetBandwidth(
float &percent);
1644 bool SaveEncodedImagesData(
const char *addr);
1684 bool GetExtrinsicMatrix(
float *matrix);
1699 bool GetIntrinsicParameters(
float *instrinsic_matrix,
float *distortion);
1706 bool GetProjectorTemperature(
float &temperature);
1714 [[deprecated]]
bool GetCameraTemperature(CameraTempSelector seletor,
float &temperature);
1743 bool GetBalanceRange(
BalanceSelector selector,
float *min_value,
float *max_value);
1766 bool GetExposureTimeRange(
int *min_value,
int *max_value);
1776 bool GetGainRange(
float *min_value,
float *max_value);
1786 bool GetGammaRange(
float *min_value,
float *max_value);
1795 bool SaveCaptureOptionParameters(
const X1::CaptureOptions &opts);
1804 bool LoadCaptureOptionParameters(X1::CaptureOptions &opts);
1848 bool LoadSettingFromFile(
const char *filename);
1856 bool SaveSettingToFile(
const char *filename);
1864 bool CheckRoi(
ROI roi);
1885 bool GetCameraResolution(
Size &resolution);
1911 bool SetCurrentUserSet(
const int &
id);
1920 bool GetCurrentUserSet(
int &
id);
1931 bool SetUserSetName(
const int &
id,
const char *name);
1941 bool GetUserSetName(
const int &
id,
char *name);
1966 transform_to_camera = CameraID_Left;
1967 projector_brightness = 240;
1968 calc_normal =
false;
1969 calc_normal_radius = 5;
1970 use_auto_noise_removal =
true;
1971 noise_removal_distance = 0;
1972 noise_removal_point_number = 40;
1973 light_contrast_threshold = 3;
1974 edge_noise_reduction_threshold = 2;
1975 exposure_time_2d = 11;
1976 exposure_time_3d = 11;
1979 hdr_exposure_times = 0;
1980 hdr_exposuretime_content[0] = 11;
1981 hdr_exposuretime_content[1] = 20;
1982 hdr_exposuretime_content[2] = 50;
1987 hdr_scan_times[0] = 1;
1988 hdr_scan_times[1] = 1;
1989 hdr_scan_times[2] = 1;
1991 hdr_projector_brightness[0] = 240;
1992 hdr_projector_brightness[1] = 240;
1993 hdr_projector_brightness[2] = 240;
1996 projector_color = ProjectorColor_Blue;
1997 use_projector_capturing_2d_image =
true;
1998 smoothness = SmoothnessLevel_Off;
1999 downsample_distance = 0.0;
2000 capture_mode = CaptureMode_Normal;
2001 confidence_threshold = 0;
2004 bilateral_filter_kernal_size = 0;
2005 bilateral_filter_depth_sigma = 0;
2006 bilateral_filter_space_sigma = 0;
2008 line_scanner_scan_time_ms = 1000;
2009 line_scanner_exposure_time_us = 300;
2010 line_scanner_min_distance = 0;
2011 line_scanner_max_distance = 0;
2013 correspond2d =
false;
2014 line_scanner_laser_position = 65536 / 2;
2015 use_auto_bilateral_filter =
true;
2016 reflection_filter_threshold = 0;
2017 smooth_sigma = 1.75;
2020 enable_2d_in_capture =
true;
2021 pointcloud_completion =
false;
2022 line_scanner_brightness_threshold = 5;
2024 encoder_trigger_interval = 8;
2025 truncate_z_min = -29999;
2026 truncate_z_max = 29999;
2027 line_scanner_confidence = 0.72;
2029 auto_set_fixed_rate =
true;
2030 enable_transfer_control =
false;
2096 int hdr_exposuretime_content[3];
2101 float hdr_gain_3d[3];
2106 int hdr_projector_brightness[3];
2132 "smoothness has been deprecated in CPU version,use smooth_sigma instead")]] SmoothnessLevel
smoothness;
2182 int hdr_scan_times[3];
2287 int line_scanner_brightness_threshold;
2383 CoordinateSelect_Disabled,
2384 CoordinateSelect_CameraLeft,
2385 CoordinateSelect_CameraRight,
2386 CoordinateSelect_CaliBoard,
2387 CoordinateSelect_CameraExtra,
2391 : coordinate_select(CoordinateSelect_Disabled), transform{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1} {}
2403 double transform[16];
2474 static void Destroy(
X2 &x);
2507 bool IsPhysicallyConnected();
2514 bool OpenProtectiveCover();
2521 bool OpenProtectiveCoverAsync();
2528 bool CloseProtectiveCover();
2535 bool CloseProtectiveCoverAsync();
2542 bool ResetProtectiveCover();
2569 bool SetCalculationCallBack(X2::CalculationCallBackPtr cb, UserPtr ctx);
2603 bool StartFixedLineScan();
2610 [[deprecated(
"Use bool GetFixedLineScanPointMap(PointMap &point_map) instead")]]
PointMap 2611 GetFixedLineScanPointMap();
2619 bool GetFixedLineScanPointMap(
PointMap &point_map);
2627 bool StopFixedLineScan();
2647 bool Capture2D(
const CameraID cid);
2655 bool SetBandwidth(
float percent);
2664 bool GetBandwidth(
float &percent);
2731 bool GetExtrinsicMatrix(
const CameraID cid,
float *matrix);
2749 bool GetIntrinsicParameters(
const CameraID cid,
float *instrinsicMatrix,
float *distortion);
2756 bool GetProjectorTemperature(
float &temperature);
2765 [[deprecated]]
bool GetCameraTemperature(
const CameraID cid, CameraTempSelector seletor,
float &temperature);
2786 bool GetExposureTimeRange(
int *min_value,
int *max_value);
2795 bool GetGainRange(
float *min_value,
float *max_value);
2804 bool GetGammaRange(
float *min_value,
float *max_value);
2811 bool SaveEncodedImagesData(
const char *addr);
2820 bool SaveCaptureOptionParameters(
const X2::CaptureOptions &opts);
2829 bool LoadCaptureOptionParameters(X2::CaptureOptions &opts);
2873 bool LoadSettingFromFile(
const char *filename);
2881 bool SaveSettingToFile(
const char *filename);
2889 bool CheckRoi(
ROI roi);
2910 bool GetCameraResolution(
Size &resolution);
2935 bool SetFixedLineScanCallback(
const X2::FixedLineScanCallBackPtr cb, UserPtr ctx);
2943 bool GetTimestamp(uint64_t ×tamp);
2956 bool ResetTimestamp();
2975 bool SetCurrentUserSet(
const int &
id);
2984 bool GetCurrentUserSet(
int &
id);
2995 bool SetUserSetName(
const int &
id,
const char *name);
3005 bool GetUserSetName(
const int &
id,
char *name);
3013 Point3D(
double x = 0.0,
double y = 0.0,
double z = 0.0) : x(x), y(y), z(z) {}
3022 Point3D At(
int rows,
int cols) {
3026 printf(
"RVC::Utils: Invalid");
3028 }
else if (rows >= sz.rows || cols >= sz.cols) {
3029 printf(
"RVC::Utils: Invalid rows and cols(%d, %d), size(%d, %d)", rows, cols, sz.rows, sz.cols);
3039 void Set(
int rows,
int cols,
const Point3D p) {
3042 printf(
"RVC::Utils: Invalid");
3044 }
else if (rows >= sz.rows || cols >= sz.cols) {
3045 printf(
"RVC::Utils: Invalid rows and cols(%d, %d), size(%d, %d)", rows, cols, sz.rows, sz.cols);
3060 template <
typename T,
typename H>
3061 T _At(H handle,
int rows,
int cols) {
3064 if (!handle.IsValid()) {
3065 printf(
"RVC::Utils: Invalid");
3068 }
else if (rows >= sz.rows || cols >= sz.cols) {
3069 printf(
"RVC::Utils: Invalid rows and cols(%d, %d), size(%d, %d)", rows, cols, sz.rows, sz.cols);
3073 return *(handle.GetDataConstPtr() + rows * sz.cols + cols);
3077 template <
typename T,
typename H>
3078 void _Set(H handle,
int rows,
int cols,
const T v) {
3080 if (!handle.IsValid()) {
3081 printf(
"RVC::Utils: Invalid");
3083 }
else if (rows >= sz.rows || cols >= sz.cols) {
3084 printf(
"RVC::Utils: Invalid rows and cols(%d, %d), size(%d, %d)", rows, cols, sz.rows, sz.cols);
3087 *(handle.GetDataPtr() + rows * sz.cols + cols) = v;
3094 unsigned char At(
int rows,
int cols) {
return _At<unsigned char>(img, rows, cols); }
3095 void Set(
int rows,
int cols,
const unsigned char v) { _Set(img, rows, cols, v); }
3104 double At(
int rows,
int cols) {
return _At<double>(cm, rows, cols); }
3105 void Set(
int rows,
int cols,
const double v) { _Set(cm, rows, cols, v); }
3114 double At(
int rows,
int cols) {
return _At<double>(dm, rows, cols); }
3115 void Set(
int rows,
int cols,
const double v) { _Set(dm, rows, cols, v); }
X1 struct.
Definition: RVC.h:1103
int reflection_filter_threshold
Used to remove large-area erroneous point clouds caused by reflections. The higher this value is set...
Definition: RVC.h:1372
BalanceSelector
White balance ratio selector, suport BalanceSelector_Red, BalanceSelector_Green and BalanceSelector_B...
Definition: RVC.h:785
ProtectiveCoverStatus
Protective Cover Status.
Definition: RVC.h:773
CaptureMode capture_mode
control capture mode
Definition: RVC.h:2166
double confidence_threshold
confidence threshold, the point with confindence low then this value will be removed range: [0...
Definition: RVC.h:1308
bool calc_normal
flag Whether calculate 3D points normal vector
Definition: RVC.h:1166
int filter_range
Set the noise filter value. The larger the value, the greater the filtering degree. The default value has been changed to 0 from 1 after v1.6.1.
Definition: RVC.h:1178
RVC_EXPORT void SystemSetLoggerName(const char *loggerName)
Set the name of logger.
int y
start y of Image roi (row index of roi up left corner)
Definition: RVC.h:188
Handle m_handle
RVC Handle.
Definition: RVC.h:370
int exposure_time_2d
Set the exposure_time 2D value in milliseconds.
Definition: RVC.h:2070
RVC_EXPORT int GetLastError()
Get last error of RVC SDK.
int projector_brightness
Set the projector brightness value.
Definition: RVC.h:1226
double truncate_z_min
truncate point map and depth map by z direction minimum value (units: mm) and truncate_z_min should l...
Definition: RVC.h:2306
double truncate_z_max
truncate point map and depth map by z direction maximum value (units: mm) and truncate_z_max should m...
Definition: RVC.h:2313
Software trigger mode.
Definition: RVC.h:854
SmoothnessLevel smoothness
control point map smoothness
Definition: RVC.h:2132
int exposure_time_3d
Set the exposure_time 3D value in milliseconds.
Definition: RVC.h:2075
Capture options.
Definition: RVC.h:1960
Handle m_handle
RVC Handle.
Definition: RVC.h:1005
RVC X Device info.
Definition: RVC.h:902
double fixed_rate
Fixed-rate trigger frequency in Hz.
Definition: RVC.h:2350
RVC_EXPORT const char * GetVersion()
Get the Version of RVC SDK.
double smooth_sigma
The Gaussian filters are used to smooth points. The larger the smooth_sigma, the smoother the point c...
Definition: RVC.h:2256
NetworkDevice
NetworkDevie, support NetworkDevice_LightMachine, NetworkDevice_LeftCamera and NetworkDevice_RightCam...
Definition: RVC.h:796
int light_contrast_threshold
Light contrast trheshold, range in [0, 10]. The contrast of point less than this value will be treat ...
Definition: RVC.h:1206
double truncate_z_max
truncate point map and depth map by z direction maximum value (units: mm) and truncate_z_max should m...
Definition: RVC.h:1330
bool use_auto_bilateral_filter
flag Whether to use auto bilateral filter. If true, the bilateral_filter_kernal_size and bilateral_fi...
Definition: RVC.h:2240
X1 CollectionCallBackInfo.
Definition: RVC.h:1424
Size GetSize() const
Get the PointMap Size object.
float gamma_2d
Set the 2D gamma value in milliseconds.
Definition: RVC.h:2111
double line_scanner_confidence
Line scanner confidence threshold for point cloud filtering.
Definition: RVC.h:2334
int phase_filter_range
Set the phase filter value. The larger the value, the greater the filtering degree 0~40...
Definition: RVC.h:1211
void(* CollectionCallBackPtr)(X2::CollectionCallBackInfo, X2::CaptureOptions, UserPtr)
X2 CallBackPtr.
Definition: RVC.h:2457
X2 CollectionCallBackInfo.
Definition: RVC.h:2409
Handle(HandleID sid_, HandleID gid_)
Construct a new Handle object with sid and gid.
Definition: RVC.h:64
double downsample_distance
uniform downsample distance. if <= 0, do nothing.
Definition: RVC.h:2160
int width_max
Maximum value of width of Image roi.
Definition: RVC.h:240
ProjectorColor projector_color
projector color
Definition: RVC.h:2120
double noise_removal_distance
The smaller the value, the greater the filtering degree. range: 0 ~ 20 (units: mm) ...
Definition: RVC.h:1196
bool use_auto_bilateral_filter
flag Whether to use auto bilateral filter. If true, the bilateral_filter_kernal_size and bilateral_fi...
Definition: RVC.h:1364
double bilateral_filter_space_sigma
the guassian sigma in space of bilateral filter of depth map range: [0, 100]
Definition: RVC.h:2203
RVC X PointMap Type.
Definition: RVC.h:498
int light_contrast_threshold
Light contrast trheshold, range in [0, 10]. The contrast of point less than this value will be treat ...
Definition: RVC.h:2059
Handle m_handle
RVC Handle.
Definition: RVC.h:660
CameraID
CameraID, support CameraID_Left and CameraID_Right
Definition: RVC.h:720
int width_step
step of width of Image roi
Definition: RVC.h:220
Enum
RVC camera type, support USB, GigE and All
Definition: RVC.h:1018
CaptureOptions()
Construct a new Capture Options object.
Definition: RVC.h:1965
double truncate_z_min
truncate point map and depth map by z direction minimum value (units: mm) and truncate_z_min should l...
Definition: RVC.h:1323
int scan_times
scan times, only use in robust mode. range: [1, 8]
Definition: RVC.h:2177
uint32_t HandleID
Handle id 4 bytes long.
Definition: RVC.h:47
Fixed-rate automatic trigger mode.
Definition: RVC.h:884
TriggerMode
Defines the trigger source for point cloud acquisition.
Definition: RVC.h:842
RVC::ROI roi
set ROI function, only 3d points in the roi will be generated. This function can improve 3d capturesp...
Definition: RVC.h:1316
int encoder_index
Encoder/trigger event index (0, 1, 2, ...)
Definition: RVC.h:2451
double bilateral_filter_depth_sigma
the guassian sigma in depth of bilateral filter of depth map range: [0, 100]
Definition: RVC.h:1344
float gamma_3d
Set the 3D gamma value.
Definition: RVC.h:1278
int width_min
Minimum value of width of Image roi.
Definition: RVC.h:230
bool pointcloud_completion
In 'CaptureMode_SwingLineScan' mode with 'correspond2d' enabled,turning on 'pointcloud_completion' wi...
Definition: RVC.h:2275
ROI()
Construct a new Image ROI object.
Definition: RVC.h:169
bool operator!=(const Size &lhs, const Size &rhs)
Compare two Image size.
Definition: RVC.h:156
CaptureMode capture_mode
control capture mode
Definition: RVC.h:1301
RVC Handle.
Definition: RVC.h:52
RVC_EXPORT const char * GetLastErrorMessage()
Get the lastest error message. The pointer to string is temporary, you need to copy data from its buf...
int edge_noise_reduction_threshold
edge control after point matching, range in [0, 10], default = 2. The big the value, the more edge noise to be removed.
Definition: RVC.h:2065
unsigned int calc_normal_radius
Neighborhood radius in pixel of calculating normal, > 0.
Definition: RVC.h:2052
double * GetPointDataPtr()
Get the Point Data Ptr of PointMap object.
RVC::PointMap pointmap
Point cloud data for the current trigger event.
Definition: RVC.h:2435
Capture options.
Definition: RVC.h:1109
Enum
Unit support Meter and Millimeter
Definition: RVC.h:522
bool calc_normal
flag Whether calculate 3D points normal vector
Definition: RVC.h:2047
X1 CalculationCallBackInfo.
Definition: RVC.h:1431
Handle & operator=(const Handle &rhs)
Assigns new Object to the Handle object, replace its current parameters.
Definition: RVC.h:78
int height_step
step of height of Image roi
Definition: RVC.h:225
int reflection_filter_threshold
Used to remove large-area erroneous point clouds caused by reflections. The higher this value is set...
Definition: RVC.h:2248
X2 CalculationCallBackInfo.
Definition: RVC.h:2416
ROI(int x, int y, int w, int h)
Construct a new Image ROI object with x,y,w,h.
Definition: RVC.h:178
Image ROI.
Definition: RVC.h:164
int exposure_time_3d
Set the exposure_time 3D value in milliseconds.
Definition: RVC.h:1221
double smooth_sigma
The Gaussian filters are used to smooth points. The larger the smooth_sigma, the smoother the point c...
Definition: RVC.h:1380
int bilateral_filter_kernal_size
the kernal size of bilateral filter of depth map range: [3, 31], 0 for not use bilateral filter ...
Definition: RVC.h:1337
Device ROIRange.
Definition: RVC.h:205
float gamma_2d
Set the 2D gamma value.
Definition: RVC.h:1273
int x_step
step of x of Image roi (col index of roi up left corner)
Definition: RVC.h:210
Hardware trigger mode.
Definition: RVC.h:869
int hdr_exposure_times
Set the hdr exposure times value. 0,2,3.
Definition: RVC.h:1241
bool correspond2d
whether to generate point clouds corresponding to 2D images
Definition: RVC.h:2226
NetworkType
RVC supported Camera Network type.
Definition: RVC.h:750
int exposure_time_2d
Set the exposure_time 2D value in milliseconds.
Definition: RVC.h:1216
Size GetSize()
Get the DepthMap Size object.
RVC_EXPORT bool SystemInit()
SystemInit.
Definition: PythonAPI.py:353
bool operator==(const Size &lhs, const Size &rhs)
Compare two Image size.
Definition: RVC.h:145
Size(int w, int h)
Construct a new Image/PointMap Size object with width/cols and height/rows.
Definition: RVC.h:120
PortType
RVC supported Camera Port type.
Definition: RVC.h:737
Image Type.
Definition: RVC.h:276
Device struct.
Definition: RVC.h:926
ProjectorColor
Projector color, support ProjectorColor_Red, ProjectorColor_Green, ProjectorColor_Blue, ProjectorColor_White and ProjectorColor_ALL
Definition: RVC.h:760
SmoothnessLevel smoothness
control point map smoothness
Definition: RVC.h:1289
CaptureOptions()
Construct a new Capture Options object.
Definition: RVC.h:1114
bool transform_to_camera
flag Whether transfrom 3D points from calibration board system to camera coordinate system ...
Definition: RVC.h:1171
unsigned int calc_normal_radius
Neighborhood radius in pixel of calculating normal, > 0.
Definition: RVC.h:1268
float gamma_3d
Set the 3D gamma value in milliseconds.
Definition: RVC.h:2116
bool operator==(const Handle &rhs)
Compare with another Handle object.
Definition: RVC.h:90
double downsample_distance
uniform downsample distance. if <= 0, do nothing.
Definition: RVC.h:1295
RVC_EXPORT void SystemShutdown()
SystemShutdown.
Definition: PythonAPI.py:365
RVC_EXPORT int SystemListDevices(Device *pdevices, size_t size, size_t *actual_size, SystemListDeviceType::Enum opt=SystemListDeviceType::All)
List the fix number devices.
Size GetSize()
Get the Size object.
int noise_removal_point_number
Set the noise filter parameter 2. The larger the value, the greater the filtering degree...
Definition: RVC.h:2154
Handle m_handle
DepthMap Handle.
Definition: RVC.h:437
float gain_3d
Set the 3D gain value in milliseconds.
Definition: RVC.h:2085
int bilateral_filter_kernal_size
the kernal size of bilateral filter of depth map range: [3, 31], 0 for not use bilateral filter ...
Definition: RVC.h:2189
Handle(const Handle &rhs)
Construct a new Handle object with another Handle.
Definition: RVC.h:70
RVC X DepthMap.
Definition: RVC.h:377
int line_scanner_max_distance
Set line scanner mode's maximum working distance.
Definition: RVC.h:2220
Handle m_handle
RVC Handle.
Definition: RVC.h:1947
Size()
Construct a new Image/PointMap Size object.
Definition: RVC.h:113
bool use_auto_noise_removal
flag Whether to use auto noise removal. If true, the noise_removal_distance and noise_removal_point_n...
Definition: RVC.h:1191
RVC_EXPORT bool SystemIsInited()
Check system is inited or not.
Definition: PythonAPI.py:359
RVC_EXPORT Device SystemFindDevice(const char *serialNumber)
Return the device according to the serialNumber, if the device is valid.
RVC X PointMap.
Definition: RVC.h:538
TriggerMode trigger_mode
Trigger mode. Currently, only the 'FixedLineScan' mode supports hardware triggering (TriggerMode_Hard...
Definition: RVC.h:2294
int line_scanner_scan_time_ms
Set line scanner mode's total scan time.
Definition: RVC.h:2208
bool enable_2d_in_capture
Acquire 2D images during capture.
Definition: RVC.h:1385
void(* CollectionCallBackPtr)(X1::CollectionCallBackInfo, X1::CaptureOptions, UserPtr)
X1 CallBackPtr.
Definition: RVC.h:1441
float gain_2d
Set the 2D gain value in milliseconds.
Definition: RVC.h:2080
X2 struct.
Definition: RVC.h:1955
Callback information structure for fixed-line scan mode.
Definition: RVC.h:2431
int hdr_exposure_times
Set the hdr exposure times value. 0,2,3.
Definition: RVC.h:2090
int x
start x of Image roi (col index of roi up left corner)
Definition: RVC.h:183
int encoder_trigger_interval
Number of encoder pulses required to trigger one profile acquisition.
Definition: RVC.h:2299
bool use_projector_capturing_2d_image
Set 2D image whether use projector.
Definition: RVC.h:2125
int line_scanner_min_distance
Set line scanner mode's minimum working distance.
Definition: RVC.h:2216
bool operator!=(const Handle &rhs)
Compare with another Handle object.
Definition: RVC.h:98
RVC::ROI roi
set ROI function, only 3d points in the roi will be generated. This function can improve 3d capture s...
Definition: RVC.h:2264
Handle()
Construct a new Handle object.
Definition: RVC.h:57
bool auto_set_fixed_rate
Enable automatic fixed rate estimation.
Definition: RVC.h:2360
int height_max
Maximum value of height of Image roi.
Definition: RVC.h:245
int width
Image roi width.
Definition: RVC.h:193
double confidence_threshold
confidence threshold, the point with confindence low then this value will be removed range: [0...
Definition: RVC.h:2173
bool enable_2d_in_capture
Acquire 2D images during capture.
Definition: RVC.h:2269
float gain_2d
Set the 2D gain value.
Definition: RVC.h:1231
int scan_times
scan times, only use in robust mode. range: [1, 8]
Definition: RVC.h:1356
Handle m_handle
confidence map handle
Definition: RVC.h:491
double bilateral_filter_depth_sigma
the guassian sigma in depth of bilateral filter of depth map range: [0, 100]
Definition: RVC.h:2196
int projector_brightness
Set the projector brightness value.
Definition: RVC.h:2042
Enum
PointMap Type Support type PointsOnly and PointsNormals
Definition: RVC.h:504
System list Device type.
Definition: RVC.h:1013
Image/PointMap Size.
Definition: RVC.h:108
double noise_removal_distance
The smaller the value, the greater the filtering degree. range: 0 ~ 20 (units: mm) ...
Definition: RVC.h:2150
NetworkDeviceStatus_
NetworkDevieStatus, support NetworkDeviceStatus_OK, NetworkDeviceStatus_Not_Reachable, NetworkDeviceStatus_In_Use and NetworkDeviceStatus_Conflict
Definition: RVC.h:808
int pointmap_index
Sequential frame index (0, 1, 2, ...)
Definition: RVC.h:2443
bool enable_transfer_control
Enable transfer control.
Definition: RVC.h:2369
uint16_t line_scanner_laser_position
select laser position in fixed line scan mode
Definition: RVC.h:2232
bool use_projector_capturing_2d_image
Set 2D image whether use projector.
Definition: RVC.h:1283
double bilateral_filter_space_sigma
the guassian sigma in space of bilateral filter of depth map range: [0, 100]
Definition: RVC.h:1351
int y_step
step of y of Image roi (row index of roi up left corner)
Definition: RVC.h:215
int noise_removal_point_number
Set the noise filter parameter 2. The larger the value, the greater the filtering degree...
Definition: RVC.h:1200
Size GetSize() const
Get the Image Size object.
int height_min
Minimum value of height of Image roi.
Definition: RVC.h:235
RVC X Image object.
Definition: RVC.h:303
CaptureMode
CaptureMode, support CaptureMode_Fast, CaptureMode_Normal, CaptureMode_Ultra, CaptureMode_Robust, CaptureMode_AntiInterReflection and CaptureMode_SwingLineScan
Definition: RVC.h:820
CameraID transform_to_camera
CameraID_Left transfrom 3D points from calibration board system to left camera coordinate system Came...
Definition: RVC.h:2037
int line_scanner_exposure_time_us
Set line scanner mode's single line exposure time.
Definition: RVC.h:2212
bool IsValid() const
Check PointMap is Valid or not.
int height
Image roi height.
Definition: RVC.h:198
bool use_auto_noise_removal
flag Whether to use auto noise removal. If true, the noise_removal_distance and noise_removal_point_n...
Definition: RVC.h:2145
RVC namespace.
Definition: QuickStart.dox:1
float gain_3d
Set the 3D gain value.
Definition: RVC.h:1236