15 #if defined(OCEAN_QRCODES_QRCODEDEBUGELEMENTS_ENABLED)
78 static inline Scalar getInvalidCodeSize();
123 static bool computePoseAndExtractQRCodeStereo(
const Frame& yFrameA,
const Frame& yFrameB,
const SharedAnyCamera& sharedAnyCameraA,
const SharedAnyCamera& sharedAnyCameraB,
const HomogenousMatrix4& world_T_device,
const HomogenousMatrix4& device_T_cameraA,
const HomogenousMatrix4& device_T_cameraB,
const FinderPatternTriplet& finderPatternTripletA,
const FinderPatternTriplet& finderPatternTripletB,
const Vectors3& worldPoints,
const Scalar& averageFinderPatternCenterDistance,
CV::Detector::QRCodes::QRCode& code,
HomogenousMatrix4& world_T_code,
Scalar& codeSize,
const unsigned int version = (
unsigned int)(-1));
142 static bool computePoseStereo(
const SharedAnyCamera& sharedAnyCameraA,
const SharedAnyCamera& sharedAnyCameraB,
const Frame& yFrameA,
const Frame& yFrameB,
const HomogenousMatrix4& world_T_device,
const HomogenousMatrix4& device_T_cameraA,
const HomogenousMatrix4& device_T_cameraB,
const FinderPatternTriplet& finderPatternTripletA,
const FinderPatternTriplet& finderPatternTripletB,
const Vector3* worldPoints,
const unsigned int version,
const Scalar codeSize,
HomogenousMatrix4& world_T_code);
166 return invalidWorld_T_code;
This class implements a 6-DOF detector for QR codes.
Definition: QRCodeDetector3D.h:41
static bool detectQRCodesWithPyramids(const SharedAnyCameras &sharedAnyCameras, const Frames &yFrames, const HomogenousMatrix4 &world_T_device, const HomogenousMatrices4 &device_T_cameras, QRCodes &codes, HomogenousMatrices4 &world_T_codes, Scalars &codeSizes, Worker *worker=nullptr, const bool allow2DCodes=false)
Detects QR codes their 6-DOF poses in two synchronized 8-bit grayscale images.
static bool computePoseStereo(const SharedAnyCamera &sharedAnyCameraA, const SharedAnyCamera &sharedAnyCameraB, const Frame &yFrameA, const Frame &yFrameB, const HomogenousMatrix4 &world_T_device, const HomogenousMatrix4 &device_T_cameraA, const HomogenousMatrix4 &device_T_cameraB, const FinderPatternTriplet &finderPatternTripletA, const FinderPatternTriplet &finderPatternTripletB, const Vector3 *worldPoints, const unsigned int version, const Scalar codeSize, HomogenousMatrix4 &world_T_code)
Computes the 6DOF pose of a QR code from a pair of cameras.
static bool computePoseAndExtractQRCodeStereo(const Frame &yFrameA, const Frame &yFrameB, const SharedAnyCamera &sharedAnyCameraA, const SharedAnyCamera &sharedAnyCameraB, const HomogenousMatrix4 &world_T_device, const HomogenousMatrix4 &device_T_cameraA, const HomogenousMatrix4 &device_T_cameraB, const FinderPatternTriplet &finderPatternTripletA, const FinderPatternTriplet &finderPatternTripletB, const Vectors3 &worldPoints, const Scalar &averageFinderPatternCenterDistance, CV::Detector::QRCodes::QRCode &code, HomogenousMatrix4 &world_T_code, Scalar &codeSize, const unsigned int version=(unsigned int)(-1))
Computes the pose of a QR code and extracts it payload given a pair of corresponding finder patterns.
static const HomogenousMatrix4 & getInvalidWorld_T_code()
Returns an invalid 6-DOF pose for a QR codes.
Definition: QRCodeDetector3D.h:162
static bool detectQRCodes(const SharedAnyCameras &sharedAnyCameras, const Frames &yFrames, const HomogenousMatrix4 &world_T_device, const HomogenousMatrices4 &device_T_cameras, QRCodes &codes, HomogenousMatrices4 &world_T_codes, Scalars &codeSizes, Worker *worker=nullptr, const bool allow2DCodes=false)
Detects QR codes their 6-DOF poses in two synchronized 8-bit grayscale images.
static Scalar computeSquaredProjectionError(const SharedAnyCamera &anyCamera, const HomogenousMatrix4 &world_T_camera, const HomogenousMatrix4 &world_T_code, const FinderPatternTriplet &finderPatternTriplet, const unsigned int version, const Scalar codeSize_2)
Computes the square projection error given a 6DOF pose of a code.
static bool triangulateFinderPatternsStereo(const SharedAnyCamera &sharedAnyCameraA, const SharedAnyCamera &sharedAnyCameraB, const HomogenousMatrix4 &world_T_device, const HomogenousMatrix4 &device_T_cameraA, const HomogenousMatrix4 &device_T_cameraB, const FinderPatternTriplet &finderPatternTripletA, const FinderPatternTriplet &finderPatternTripletB, Vectors3 &worldPoints, Scalar &averageFinderPatternCenterDistance)
Triangulates the centers of corresponding observations of finder patterns from two different views.
static Scalar getInvalidCodeSize()
Returns an invalid size for QR codes.
Definition: QRCodeDetector3D.h:157
This class implements common functionality of QR code detectors but is not a stand-alone detector.
Definition: QRCodeDetector.h:33
Definition of a QR code.
Definition: QRCode.h:35
This class implements Ocean's image class.
Definition: Frame.h:1792
This class implements a worker able to distribute function calls over different threads.
Definition: Worker.h:33
std::vector< Frame > Frames
Definition of a vector holding padding frames.
Definition: Frame.h:1755
std::array< FinderPattern, 3 > FinderPatternTriplet
Definition of a 3-tuple of finder patterns.
Definition: FinderPatternDetector.h:198
float Scalar
Definition of a scalar type.
Definition: Math.h:128
std::vector< HomogenousMatrix4 > HomogenousMatrices4
Definition of a vector holding HomogenousMatrix4 objects.
Definition: HomogenousMatrix4.h:73
std::shared_ptr< AnyCamera > SharedAnyCamera
Definition of a shared pointer holding an AnyCamera object with Scalar precision.
Definition: AnyCamera.h:60
std::vector< Scalar > Scalars
Definition of a vector holding Scalar objects.
Definition: Math.h:144
SharedAnyCamerasT< Scalar > SharedAnyCameras
Definition of a vector holding AnyCamera objects.
Definition: AnyCamera.h:90
std::vector< Vector3 > Vectors3
Definition of a vector holding Vector3 objects.
Definition: Vector3.h:65
std::vector< QRCode > QRCodes
Definition of a vector of QR codes.
Definition: QRCode.h:25
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15