32 #include <flycapture/FlyCapture2.h>
34 #include <VisionX/interface/components/Calibration.h>
36 #include <Image/ImageProcessor.h>
38 #include <Calibration/Undistortion.h>
39 #include <Calibration/Rectification.h>
56 defineOptionalProperty<std::string>(
"serialNumbers",
"10121969 10121966 10121963 10121968",
"camera serial numbers");
58 defineRequiredProperty<std::string>(
"CalibrationFile",
"Camera calibration file");
60 defineOptionalProperty<visionx::ImageDimension>(
"dimensions", visionx::ImageDimension(1600, 1200),
"")
61 .map(
"640x480", visionx::ImageDimension(640, 480))
62 .map(
"1600x1200", visionx::ImageDimension(1600, 1200));
64 defineOptionalProperty<float>(
"FrameRate", 7.5f,
"Frames per second")
65 .setMatchRegex(
"\\d+(.\\d*)?")
69 defineOptionalProperty<bool>(
"UndistortImages",
true,
"Perform undistortion of the images.");
70 defineOptionalProperty<bool>(
"RectifyImages",
true,
"Perform rectification of the images.");
72 defineOptionalProperty<std::string>(
"ReferenceFrameName",
"EyeLeftCamera",
"Optional reference frame name.");
74 defineOptionalProperty<float>(
"Exposure", 300,
"Exposure value. Negative values can be used to enable auto exposure.");
75 defineOptionalProperty<float>(
"Shutter", 20,
"Shutter value. Negative values can be used to enable auto mode.");
76 defineOptionalProperty<float>(
"Gain", 0.0,
"Gain value. Negative values can be used to enable auto mode.");
98 return "FlyCaptureImageProvider";
111 bool capture(
void** ppImageBuffers)
override;
128 FlyCapture2::BusManager busManager;
129 std::vector<FlyCapture2::Camera*> cameras;
131 std::vector<std::string> serialNumbers;
133 std::vector<FlyCapture2::Image*> colorImages;
135 CByteImage** cameraImages;
141 virtual public visionx::StereoCalibrationCaptureProviderInterface
151 return stereoCalibration;
161 return getProperty<std::string>(
"ReferenceFrameName").getValue();
167 visionx::StereoCalibration stereoCalibration;