|
OpenCV for Unity 3.0.2
Enox Software / Please refer to OpenCV official document ( http://docs.opencv.org/4.13.0/index.html ) for the details of the argument of the method.
|
The main functionality of ArucoDetector class is detection of markers in an image with detectMarkers() method. More...
Public Member Functions | |
| ArucoDetector () | |
| Basic ArucoDetector constructor. | |
| ArucoDetector (Dictionary dictionary) | |
| Basic ArucoDetector constructor. | |
| ArucoDetector (Dictionary dictionary, DetectorParameters detectorParams) | |
| Basic ArucoDetector constructor. | |
| ArucoDetector (Dictionary dictionary, DetectorParameters detectorParams, RefineParameters refineParams) | |
| Basic ArucoDetector constructor. | |
| void | detectMarkers (Mat image, List< Mat > corners, Mat ids) |
| Basic marker detection. | |
| void | detectMarkers (Mat image, List< Mat > corners, Mat ids, List< Mat > rejectedImgPoints) |
| Basic marker detection. | |
| void | detectMarkersMultiDict (Mat image, List< Mat > corners, Mat ids) |
| Basic marker detection. | |
| void | detectMarkersMultiDict (Mat image, List< Mat > corners, Mat ids, List< Mat > rejectedImgPoints) |
| Basic marker detection. | |
| void | detectMarkersMultiDict (Mat image, List< Mat > corners, Mat ids, List< Mat > rejectedImgPoints, Mat dictIndices) |
| Basic marker detection. | |
| void | detectMarkersWithConfidence (Mat image, List< Mat > corners, Mat ids, Mat markersConfidence) |
| Marker detection with confidence computation. | |
| void | detectMarkersWithConfidence (Mat image, List< Mat > corners, Mat ids, Mat markersConfidence, List< Mat > rejectedImgPoints) |
| Marker detection with confidence computation. | |
| DetectorParameters | getDetectorParameters () |
| Dictionary | getDictionary () |
| Returns first dictionary from internal list used for marker detection. | |
| RefineParameters | getRefineParameters () |
| void | refineDetectedMarkers (Mat image, Board board, List< Mat > detectedCorners, Mat detectedIds, List< Mat > rejectedCorners) |
| Refine not detected markers based on the already detected and the board layout. | |
| void | refineDetectedMarkers (Mat image, Board board, List< Mat > detectedCorners, Mat detectedIds, List< Mat > rejectedCorners, Mat cameraMatrix) |
| Refine not detected markers based on the already detected and the board layout. | |
| void | refineDetectedMarkers (Mat image, Board board, List< Mat > detectedCorners, Mat detectedIds, List< Mat > rejectedCorners, Mat cameraMatrix, Mat distCoeffs) |
| Refine not detected markers based on the already detected and the board layout. | |
| void | refineDetectedMarkers (Mat image, Board board, List< Mat > detectedCorners, Mat detectedIds, List< Mat > rejectedCorners, Mat cameraMatrix, Mat distCoeffs, Mat recoveredIdxs) |
| Refine not detected markers based on the already detected and the board layout. | |
| void | setDetectorParameters (DetectorParameters detectorParameters) |
| void | setDictionary (Dictionary dictionary) |
| Sets and replaces the first dictionary in internal list to be used for marker detection. | |
| void | setRefineParameters (RefineParameters refineParameters) |
Public Member Functions inherited from OpenCVForUnity.CoreModule.Algorithm | |
| virtual void | clear () |
| Clears the algorithm state. | |
| virtual bool | empty () |
| Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. | |
| virtual string | getDefaultName () |
| IntPtr | getNativeObjAddr () |
| void | save (string filename) |
Public Member Functions inherited from OpenCVForUnity.DisposableObject | |
| void | Dispose () |
| void | ThrowIfDisposed () |
Static Public Member Functions | |
| static new ArucoDetector | __fromPtr__ (IntPtr addr) |
Static Public Member Functions inherited from OpenCVForUnity.CoreModule.Algorithm | |
| static Algorithm | __fromPtr__ (IntPtr addr) |
Static Public Member Functions inherited from OpenCVForUnity.DisposableObject | |
| static IntPtr | ThrowIfNullIntPtr (IntPtr ptr) |
Protected Member Functions | |
| override void | Dispose (bool disposing) |
Protected Member Functions inherited from OpenCVForUnity.CoreModule.Algorithm | |
Protected Member Functions inherited from OpenCVForUnity.DisposableOpenCVObject | |
| DisposableOpenCVObject () | |
| DisposableOpenCVObject (bool isEnabledDispose) | |
| DisposableOpenCVObject (IntPtr ptr) | |
| DisposableOpenCVObject (IntPtr ptr, bool isEnabledDispose) | |
| override void | Dispose (bool disposing) |
Protected Member Functions inherited from OpenCVForUnity.DisposableObject | |
| DisposableObject () | |
| DisposableObject (bool isEnabledDispose) | |
Additional Inherited Members | |
Package Functions inherited from OpenCVForUnity.CoreModule.Algorithm | |
Package Attributes inherited from OpenCVForUnity.DisposableOpenCVObject | |
Properties inherited from OpenCVForUnity.DisposableObject | |
| bool | IsDisposed [get, protected set] |
| bool | IsEnabledDispose [get, set] |
The main functionality of ArucoDetector class is detection of markers in an image with detectMarkers() method.
After detecting some markers in the image, you can try to find undetected markers from this dictionary with refineDetectedMarkers() method.
| OpenCVForUnity.ObjdetectModule.ArucoDetector.ArucoDetector | ( | Dictionary | dictionary, |
| DetectorParameters | detectorParams, | ||
| RefineParameters | refineParams ) |
Basic ArucoDetector constructor.
| dictionary | indicates the type of markers that will be searched |
| detectorParams | marker detection parameters |
| refineParams | marker refine detection parameters |
| OpenCVForUnity.ObjdetectModule.ArucoDetector.ArucoDetector | ( | Dictionary | dictionary, |
| DetectorParameters | detectorParams ) |
Basic ArucoDetector constructor.
| dictionary | indicates the type of markers that will be searched |
| detectorParams | marker detection parameters |
| refineParams | marker refine detection parameters |
| OpenCVForUnity.ObjdetectModule.ArucoDetector.ArucoDetector | ( | Dictionary | dictionary | ) |
Basic ArucoDetector constructor.
| dictionary | indicates the type of markers that will be searched |
| detectorParams | marker detection parameters |
| refineParams | marker refine detection parameters |
| OpenCVForUnity.ObjdetectModule.ArucoDetector.ArucoDetector | ( | ) |
Basic ArucoDetector constructor.
| dictionary | indicates the type of markers that will be searched |
| detectorParams | marker detection parameters |
| refineParams | marker refine detection parameters |
|
static |
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.detectMarkers | ( | Mat | image, |
| List< Mat > | corners, | ||
| Mat | ids ) |
Basic marker detection.
| image | input image |
| corners | vector of detected marker corners. For each marker, its four corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the dimensions of this array is Nx4. The order of the corners is clockwise. |
| ids | vector of identifiers of the detected markers. The identifier is of type int (e.g. std::vector<int>). For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array. |
| rejectedImgPoints | contains the imgPoints of those squares whose inner code has not a correct codification. Useful for debugging purposes. |
Performs marker detection in the input image. Only markers included in the first specified dictionary are searched. For each detected marker, it returns the 2D position of its corner in the image and its corresponding identifier. Note that this function does not perform pose estimation.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.detectMarkers | ( | Mat | image, |
| List< Mat > | corners, | ||
| Mat | ids, | ||
| List< Mat > | rejectedImgPoints ) |
Basic marker detection.
| image | input image |
| corners | vector of detected marker corners. For each marker, its four corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the dimensions of this array is Nx4. The order of the corners is clockwise. |
| ids | vector of identifiers of the detected markers. The identifier is of type int (e.g. std::vector<int>). For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array. |
| rejectedImgPoints | contains the imgPoints of those squares whose inner code has not a correct codification. Useful for debugging purposes. |
Performs marker detection in the input image. Only markers included in the first specified dictionary are searched. For each detected marker, it returns the 2D position of its corner in the image and its corresponding identifier. Note that this function does not perform pose estimation.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.detectMarkersMultiDict | ( | Mat | image, |
| List< Mat > | corners, | ||
| Mat | ids ) |
Basic marker detection.
| image | input image |
| corners | vector of detected marker corners. For each marker, its four corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the dimensions of this array is Nx4. The order of the corners is clockwise. |
| ids | vector of identifiers of the detected markers. The identifier is of type int (e.g. std::vector<int>). For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array. |
| rejectedImgPoints | contains the imgPoints of those squares whose inner code has not a correct codification. Useful for debugging purposes. |
| dictIndices | vector of dictionary indices for each detected marker. Use getDictionaries() to get the list of corresponding dictionaries. |
Performs marker detection in the input image. Only markers included in the specific dictionaries are searched. For each detected marker, it returns the 2D position of its corner in the image and its corresponding identifier. Note that this function does not perform pose estimation.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.detectMarkersMultiDict | ( | Mat | image, |
| List< Mat > | corners, | ||
| Mat | ids, | ||
| List< Mat > | rejectedImgPoints ) |
Basic marker detection.
| image | input image |
| corners | vector of detected marker corners. For each marker, its four corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the dimensions of this array is Nx4. The order of the corners is clockwise. |
| ids | vector of identifiers of the detected markers. The identifier is of type int (e.g. std::vector<int>). For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array. |
| rejectedImgPoints | contains the imgPoints of those squares whose inner code has not a correct codification. Useful for debugging purposes. |
| dictIndices | vector of dictionary indices for each detected marker. Use getDictionaries() to get the list of corresponding dictionaries. |
Performs marker detection in the input image. Only markers included in the specific dictionaries are searched. For each detected marker, it returns the 2D position of its corner in the image and its corresponding identifier. Note that this function does not perform pose estimation.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.detectMarkersMultiDict | ( | Mat | image, |
| List< Mat > | corners, | ||
| Mat | ids, | ||
| List< Mat > | rejectedImgPoints, | ||
| Mat | dictIndices ) |
Basic marker detection.
| image | input image |
| corners | vector of detected marker corners. For each marker, its four corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the dimensions of this array is Nx4. The order of the corners is clockwise. |
| ids | vector of identifiers of the detected markers. The identifier is of type int (e.g. std::vector<int>). For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array. |
| rejectedImgPoints | contains the imgPoints of those squares whose inner code has not a correct codification. Useful for debugging purposes. |
| dictIndices | vector of dictionary indices for each detected marker. Use getDictionaries() to get the list of corresponding dictionaries. |
Performs marker detection in the input image. Only markers included in the specific dictionaries are searched. For each detected marker, it returns the 2D position of its corner in the image and its corresponding identifier. Note that this function does not perform pose estimation.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.detectMarkersWithConfidence | ( | Mat | image, |
| List< Mat > | corners, | ||
| Mat | ids, | ||
| Mat | markersConfidence ) |
Marker detection with confidence computation.
| image | input image |
| corners | vector of detected marker corners. For each marker, its four corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the dimensions of this array is Nx4. The order of the corners is clockwise. |
| ids | vector of identifiers of the detected markers. The identifier is of type int (e.g. std::vector<int>). For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array. |
| markersConfidence | contains the normalized confidence [0;1] of the markers' detection, defined as 1 minus the normalized uncertainty (percentage of incorrect pixel detections), with 1 describing a pixel perfect detection. The confidence values are of type float (e.g. std::vector<float>) |
| rejectedImgPoints | contains the imgPoints of those squares whose inner code has not a correct codification. Useful for debugging purposes. |
Performs marker detection in the input image. Only markers included in the first specified dictionary are searched. For each detected marker, it returns the 2D position of its corner in the image and its corresponding identifier. Note that this function does not perform pose estimation.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.detectMarkersWithConfidence | ( | Mat | image, |
| List< Mat > | corners, | ||
| Mat | ids, | ||
| Mat | markersConfidence, | ||
| List< Mat > | rejectedImgPoints ) |
Marker detection with confidence computation.
| image | input image |
| corners | vector of detected marker corners. For each marker, its four corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the dimensions of this array is Nx4. The order of the corners is clockwise. |
| ids | vector of identifiers of the detected markers. The identifier is of type int (e.g. std::vector<int>). For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array. |
| markersConfidence | contains the normalized confidence [0;1] of the markers' detection, defined as 1 minus the normalized uncertainty (percentage of incorrect pixel detections), with 1 describing a pixel perfect detection. The confidence values are of type float (e.g. std::vector<float>) |
| rejectedImgPoints | contains the imgPoints of those squares whose inner code has not a correct codification. Useful for debugging purposes. |
Performs marker detection in the input image. Only markers included in the first specified dictionary are searched. For each detected marker, it returns the 2D position of its corner in the image and its corresponding identifier. Note that this function does not perform pose estimation.
|
protectedvirtual |
Reimplemented from OpenCVForUnity.CoreModule.Algorithm.
| DetectorParameters OpenCVForUnity.ObjdetectModule.ArucoDetector.getDetectorParameters | ( | ) |
| Dictionary OpenCVForUnity.ObjdetectModule.ArucoDetector.getDictionary | ( | ) |
Returns first dictionary from internal list used for marker detection.
| RefineParameters OpenCVForUnity.ObjdetectModule.ArucoDetector.getRefineParameters | ( | ) |
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.refineDetectedMarkers | ( | Mat | image, |
| Board | board, | ||
| List< Mat > | detectedCorners, | ||
| Mat | detectedIds, | ||
| List< Mat > | rejectedCorners ) |
Refine not detected markers based on the already detected and the board layout.
| image | input image |
| board | layout of markers in the board. |
| detectedCorners | vector of already detected marker corners. |
| detectedIds | vector of already detected marker identifiers. |
| rejectedCorners | vector of rejected candidates during the marker detection process. |
| cameraMatrix | optional input 3x3 floating-point camera matrix \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) |
| distCoeffs | optional vector of distortion coefficients \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements |
| recoveredIdxs | Optional array to returns the indexes of the recovered candidates in the original rejectedCorners array. |
This function tries to find markers that were not detected in the basic detecMarkers function. First, based on the current detected marker and the board layout, the function interpolates the position of the missing markers. Then it tries to find correspondence between the reprojected markers and the rejected candidates based on the minRepDistance and errorCorrectionRate parameters. If camera parameters and distortion coefficients are provided, missing markers are reprojected using projectPoint function. If not, missing marker projections are interpolated using global homography, and all the marker corners in the board must have the same Z coordinate.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.refineDetectedMarkers | ( | Mat | image, |
| Board | board, | ||
| List< Mat > | detectedCorners, | ||
| Mat | detectedIds, | ||
| List< Mat > | rejectedCorners, | ||
| Mat | cameraMatrix ) |
Refine not detected markers based on the already detected and the board layout.
| image | input image |
| board | layout of markers in the board. |
| detectedCorners | vector of already detected marker corners. |
| detectedIds | vector of already detected marker identifiers. |
| rejectedCorners | vector of rejected candidates during the marker detection process. |
| cameraMatrix | optional input 3x3 floating-point camera matrix \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) |
| distCoeffs | optional vector of distortion coefficients \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements |
| recoveredIdxs | Optional array to returns the indexes of the recovered candidates in the original rejectedCorners array. |
This function tries to find markers that were not detected in the basic detecMarkers function. First, based on the current detected marker and the board layout, the function interpolates the position of the missing markers. Then it tries to find correspondence between the reprojected markers and the rejected candidates based on the minRepDistance and errorCorrectionRate parameters. If camera parameters and distortion coefficients are provided, missing markers are reprojected using projectPoint function. If not, missing marker projections are interpolated using global homography, and all the marker corners in the board must have the same Z coordinate.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.refineDetectedMarkers | ( | Mat | image, |
| Board | board, | ||
| List< Mat > | detectedCorners, | ||
| Mat | detectedIds, | ||
| List< Mat > | rejectedCorners, | ||
| Mat | cameraMatrix, | ||
| Mat | distCoeffs ) |
Refine not detected markers based on the already detected and the board layout.
| image | input image |
| board | layout of markers in the board. |
| detectedCorners | vector of already detected marker corners. |
| detectedIds | vector of already detected marker identifiers. |
| rejectedCorners | vector of rejected candidates during the marker detection process. |
| cameraMatrix | optional input 3x3 floating-point camera matrix \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) |
| distCoeffs | optional vector of distortion coefficients \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements |
| recoveredIdxs | Optional array to returns the indexes of the recovered candidates in the original rejectedCorners array. |
This function tries to find markers that were not detected in the basic detecMarkers function. First, based on the current detected marker and the board layout, the function interpolates the position of the missing markers. Then it tries to find correspondence between the reprojected markers and the rejected candidates based on the minRepDistance and errorCorrectionRate parameters. If camera parameters and distortion coefficients are provided, missing markers are reprojected using projectPoint function. If not, missing marker projections are interpolated using global homography, and all the marker corners in the board must have the same Z coordinate.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.refineDetectedMarkers | ( | Mat | image, |
| Board | board, | ||
| List< Mat > | detectedCorners, | ||
| Mat | detectedIds, | ||
| List< Mat > | rejectedCorners, | ||
| Mat | cameraMatrix, | ||
| Mat | distCoeffs, | ||
| Mat | recoveredIdxs ) |
Refine not detected markers based on the already detected and the board layout.
| image | input image |
| board | layout of markers in the board. |
| detectedCorners | vector of already detected marker corners. |
| detectedIds | vector of already detected marker identifiers. |
| rejectedCorners | vector of rejected candidates during the marker detection process. |
| cameraMatrix | optional input 3x3 floating-point camera matrix \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) |
| distCoeffs | optional vector of distortion coefficients \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements |
| recoveredIdxs | Optional array to returns the indexes of the recovered candidates in the original rejectedCorners array. |
This function tries to find markers that were not detected in the basic detecMarkers function. First, based on the current detected marker and the board layout, the function interpolates the position of the missing markers. Then it tries to find correspondence between the reprojected markers and the rejected candidates based on the minRepDistance and errorCorrectionRate parameters. If camera parameters and distortion coefficients are provided, missing markers are reprojected using projectPoint function. If not, missing marker projections are interpolated using global homography, and all the marker corners in the board must have the same Z coordinate.
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.setDetectorParameters | ( | DetectorParameters | detectorParameters | ) |
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.setDictionary | ( | Dictionary | dictionary | ) |
Sets and replaces the first dictionary in internal list to be used for marker detection.
| dictionary | The new dictionary that will replace the first dictionary in the internal list. |
| void OpenCVForUnity.ObjdetectModule.ArucoDetector.setRefineParameters | ( | RefineParameters | refineParameters | ) |