1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-31 00:03:03 +04:00

Merge branch 4.x

This commit is contained in:
Alexander Smorkalov
2026-07-08 11:31:07 +03:00
144 changed files with 4751 additions and 1058 deletions
@@ -65,7 +65,7 @@ class CV_EXPORTS_W_SIMPLE Dictionary {
*/
CV_WRAP bool identify(const Mat &onlyBits, CV_OUT int &idx, CV_OUT int &rotation, double maxCorrectionRate) const;
/** @brief Given a matrix of pixel ratio raging from 0 to 1. Returns whether if marker is identified or not.
/** @brief Given a matrix of pixel ratio ranging from 0 to 1. Returns whether the marker is identified or not.
*
* Returns reference to the marker id in the dictionary (if any) and its rotation.
*/
@@ -77,6 +77,22 @@ class CV_EXPORTS_W_SIMPLE Dictionary {
*/
CV_WRAP int getDistanceToId(InputArray bits, int id, bool allRotations = true) const;
/** @brief Returns number of cells that differ from the specific id.
*
* For each cell, the distance is increased when the difference between the detected
* cell pixel ratio and the dictionary bit value is greater than `validBitIdThreshold`.
* If `allRotations` is set, the four possible marker rotations are considered.
*
* @param onlyCellPixelRatio markerSize x markerSize matrix (CV_32FC1) holding, for each cell,
* the ratio of white pixels ranging from 0 to 1
* @param id marker id in the dictionary to compute the distance to
* @param allRotations if set, the four possible marker rotations are considered and the
* smallest distance is returned
* @param validBitIdThreshold maximum allowed difference between a cell pixel ratio and the
* dictionary bit value; cells exceeding it are counted as differing
*/
CV_WRAP int getDistanceToId(InputArray onlyCellPixelRatio, int id, bool allRotations, float validBitIdThreshold) const;
/** @brief Generate a canonical marker image
*/
CV_WRAP void generateImageMarker(int id, int sidePixels, OutputArray _img, int borderBits = 1) const;