31 #include <VisionX/interface/components/Calibration.h>
33 #include <Calibration/Rectification.h>
34 #include <Calibration/Undistortion.h>
35 #include <Image/ImageProcessor.h>
36 #include <flycapture/FlyCapture2.h>
51 defineOptionalProperty<std::string>(
52 "serialNumbers",
"10121969 10121966 10121963 10121968",
"camera serial numbers");
54 defineRequiredProperty<std::string>(
"CalibrationFile",
"Camera calibration file");
56 defineOptionalProperty<visionx::ImageDimension>(
57 "dimensions", visionx::ImageDimension(1600, 1200),
"")
58 .map(
"640x480", visionx::ImageDimension(640, 480))
59 .map(
"1600x1200", visionx::ImageDimension(1600, 1200));
61 defineOptionalProperty<float>(
"FrameRate", 7.5f,
"Frames per second")
62 .setMatchRegex(
"\\d+(.\\d*)?")
66 defineOptionalProperty<bool>(
67 "UndistortImages",
true,
"Perform undistortion of the images.");
68 defineOptionalProperty<bool>(
69 "RectifyImages",
true,
"Perform rectification of the images.");
71 defineOptionalProperty<std::string>(
72 "ReferenceFrameName",
"EyeLeftCamera",
"Optional reference frame name.");
74 defineOptionalProperty<float>(
77 "Exposure value. Negative values can be used to enable auto exposure.");
78 defineOptionalProperty<float>(
79 "Shutter", 20,
"Shutter value. Negative values can be used to enable auto mode.");
80 defineOptionalProperty<float>(
81 "Gain", 0.0,
"Gain value. Negative values can be used to enable auto mode.");
103 return "FlyCaptureImageProvider";
115 bool capture(
void** ppImageBuffers)
override;
131 FlyCapture2::BusManager busManager;
132 std::vector<FlyCapture2::Camera*> cameras;
134 std::vector<std::string> serialNumbers;
136 std::vector<FlyCapture2::Image*> colorImages;
138 CByteImage** cameraImages;
143 virtual public visionx::StereoCalibrationCaptureProviderInterface
149 visionx::StereoCalibration
152 return stereoCalibration;
164 return getProperty<std::string>(
"ReferenceFrameName").getValue();
169 visionx::StereoCalibration stereoCalibration;