23 _edgeLength(edgeLength),
24 _averagePosition(2,
CVVec3f(0.0f, 0.0f, 0.0f)),
25 _averageRotation(2,
SLQuat4f(0.0f, 0.0f, 0.0f, 1.0f))
48 vector<CVVec3f> translations;
49 vector<SLQuat4f> rotations;
50 vector<float> weights;
52 for (
size_t i = 0; i <
arucoIDs.size(); i++)
96 faceViewMatrix.
m(12, translation.
x);
97 faceViewMatrix.
m(13, translation.
y);
98 faceViewMatrix.
m(14, translation.
z);
104 translations.emplace_back(translation.
x, translation.
y, translation.
z);
105 rotations.push_back(rotation);
106 weights.push_back(weight);
113 if (!translations.empty())
129 rot.
m(1), rot.
m(4), rot.
m(7), pos.val[1],
130 rot.
m(2), rot.
m(5), rot.
m(8), pos.val[2],
#define PROFILE_FUNCTION()
void set(SLQuat4f value)
Sets the current value in the value array and builds the average.
Live video camera calibration class with OpenCV an OpenCV calibration.
Averaged< CVVec3f > _averagePosition
AveragedQuat4f _averageRotation
CVTrackedArucoCube(string calibIniPath, float edgeLength)
bool track(CVMat imageGray, CVMat imageBgr, CVCalibration *calib)
Tracks the all Aruco markers in the given image for the first sceneview.
OpenCV ArUco marker tracker class derived from CVTracked.
bool trackAll(CVMat imageGray, CVMat imageBgr, CVCalibration *calib, CVRect roi=CVRect(0, 0, 0, 0))
vector< int > arucoIDs
detected Aruco marker IDs
CVVMatx44f objectViewMats
object view matrices for all found markers
CVMatx44f _objectViewMat
view transformation matrix
static SLQuat4f averageQuaternion(vector< SLQuat4f > quaternions, vector< float > weights)
static CVVec3f averageVector(vector< CVVec3f > vectors, vector< float > weights)
void transpose()
Sets the transposed matrix by swaping around the main diagonal.
SLVec3< T > translation() const
void rotate(T degAng, T axisx, T axisy, T axisz)
SLVec3< T > axisZ() const
void translate(T tx, T ty, T tz=0)
SLMat3< T > toMat3() const
void fromMat3(const SLMat3< T > &m)
T dot(const SLVec3 &v) const
void set(T value)
Sets the current value in the value array and builds the average.
T clamp(T a, T min, T max)