@Namespace(value="cv::aruco") @NoOffset @Properties(inherit=opencv_objdetect.class) public class ArucoDetector extends Algorithm
DetectorParameters, RefineParameters
Pointer.CustomDeallocator, Pointer.Deallocator, Pointer.NativeDeallocator, Pointer.ReferenceCounter
Constructor and Description |
---|
ArucoDetector() |
ArucoDetector(Algorithm pointer)
Downcast constructor.
|
ArucoDetector(Dictionary dictionary,
DetectorParameters detectorParams,
RefineParameters refineParams)
\brief Basic ArucoDetector constructor
|
ArucoDetector(long size)
Native array allocator.
|
ArucoDetector(Pointer p)
Pointer cast constructor.
|
Modifier and Type | Method and Description |
---|---|
Algorithm |
asAlgorithm() |
static Algorithm |
asAlgorithm(ArucoDetector pointer) |
void |
detectMarkers(GpuMat image,
GpuMatVector corners,
GpuMat ids) |
void |
detectMarkers(GpuMat image,
GpuMatVector corners,
GpuMat ids,
GpuMatVector rejectedImgPoints) |
void |
detectMarkers(GpuMat image,
MatVector corners,
GpuMat ids) |
void |
detectMarkers(GpuMat image,
MatVector corners,
GpuMat ids,
MatVector rejectedImgPoints) |
void |
detectMarkers(GpuMat image,
UMatVector corners,
GpuMat ids) |
void |
detectMarkers(GpuMat image,
UMatVector corners,
GpuMat ids,
UMatVector rejectedImgPoints) |
void |
detectMarkers(Mat image,
GpuMatVector corners,
Mat ids) |
void |
detectMarkers(Mat image,
GpuMatVector corners,
Mat ids,
GpuMatVector rejectedImgPoints) |
void |
detectMarkers(Mat image,
MatVector corners,
Mat ids) |
void |
detectMarkers(Mat image,
MatVector corners,
Mat ids,
MatVector rejectedImgPoints)
\brief Basic marker detection
|
void |
detectMarkers(Mat image,
UMatVector corners,
Mat ids) |
void |
detectMarkers(Mat image,
UMatVector corners,
Mat ids,
UMatVector rejectedImgPoints) |
void |
detectMarkers(UMat image,
GpuMatVector corners,
UMat ids) |
void |
detectMarkers(UMat image,
GpuMatVector corners,
UMat ids,
GpuMatVector rejectedImgPoints) |
void |
detectMarkers(UMat image,
MatVector corners,
UMat ids) |
void |
detectMarkers(UMat image,
MatVector corners,
UMat ids,
MatVector rejectedImgPoints) |
void |
detectMarkers(UMat image,
UMatVector corners,
UMat ids) |
void |
detectMarkers(UMat image,
UMatVector corners,
UMat ids,
UMatVector rejectedImgPoints) |
DetectorParameters |
getDetectorParameters() |
Dictionary |
getDictionary() |
ArucoDetector |
getPointer(long i) |
RefineParameters |
getRefineParameters() |
ArucoDetector |
position(long position) |
void |
read(FileNode fn)
\brief Reads algorithm parameters from a file storage
|
void |
refineDetectedMarkers(GpuMat image,
Board board,
GpuMatVector detectedCorners,
GpuMat detectedIds,
GpuMatVector rejectedCorners) |
void |
refineDetectedMarkers(GpuMat image,
Board board,
GpuMatVector detectedCorners,
GpuMat detectedIds,
GpuMatVector rejectedCorners,
GpuMat cameraMatrix,
GpuMat distCoeffs,
GpuMat recoveredIdxs) |
void |
refineDetectedMarkers(GpuMat image,
Board board,
MatVector detectedCorners,
GpuMat detectedIds,
MatVector rejectedCorners) |
void |
refineDetectedMarkers(GpuMat image,
Board board,
MatVector detectedCorners,
GpuMat detectedIds,
MatVector rejectedCorners,
GpuMat cameraMatrix,
GpuMat distCoeffs,
GpuMat recoveredIdxs) |
void |
refineDetectedMarkers(GpuMat image,
Board board,
UMatVector detectedCorners,
GpuMat detectedIds,
UMatVector rejectedCorners) |
void |
refineDetectedMarkers(GpuMat image,
Board board,
UMatVector detectedCorners,
GpuMat detectedIds,
UMatVector rejectedCorners,
GpuMat cameraMatrix,
GpuMat distCoeffs,
GpuMat recoveredIdxs) |
void |
refineDetectedMarkers(Mat image,
Board board,
GpuMatVector detectedCorners,
Mat detectedIds,
GpuMatVector rejectedCorners) |
void |
refineDetectedMarkers(Mat image,
Board board,
GpuMatVector detectedCorners,
Mat detectedIds,
GpuMatVector rejectedCorners,
Mat cameraMatrix,
Mat distCoeffs,
Mat recoveredIdxs) |
void |
refineDetectedMarkers(Mat image,
Board board,
MatVector detectedCorners,
Mat detectedIds,
MatVector rejectedCorners) |
void |
refineDetectedMarkers(Mat image,
Board board,
MatVector detectedCorners,
Mat detectedIds,
MatVector rejectedCorners,
Mat cameraMatrix,
Mat distCoeffs,
Mat recoveredIdxs)
\brief Refine not detected markers based on the already detected and the board layout
|
void |
refineDetectedMarkers(Mat image,
Board board,
UMatVector detectedCorners,
Mat detectedIds,
UMatVector rejectedCorners) |
void |
refineDetectedMarkers(Mat image,
Board board,
UMatVector detectedCorners,
Mat detectedIds,
UMatVector rejectedCorners,
Mat cameraMatrix,
Mat distCoeffs,
Mat recoveredIdxs) |
void |
refineDetectedMarkers(UMat image,
Board board,
GpuMatVector detectedCorners,
UMat detectedIds,
GpuMatVector rejectedCorners) |
void |
refineDetectedMarkers(UMat image,
Board board,
GpuMatVector detectedCorners,
UMat detectedIds,
GpuMatVector rejectedCorners,
UMat cameraMatrix,
UMat distCoeffs,
UMat recoveredIdxs) |
void |
refineDetectedMarkers(UMat image,
Board board,
MatVector detectedCorners,
UMat detectedIds,
MatVector rejectedCorners) |
void |
refineDetectedMarkers(UMat image,
Board board,
MatVector detectedCorners,
UMat detectedIds,
MatVector rejectedCorners,
UMat cameraMatrix,
UMat distCoeffs,
UMat recoveredIdxs) |
void |
refineDetectedMarkers(UMat image,
Board board,
UMatVector detectedCorners,
UMat detectedIds,
UMatVector rejectedCorners) |
void |
refineDetectedMarkers(UMat image,
Board board,
UMatVector detectedCorners,
UMat detectedIds,
UMatVector rejectedCorners,
UMat cameraMatrix,
UMat distCoeffs,
UMat recoveredIdxs) |
void |
setDetectorParameters(DetectorParameters detectorParameters) |
void |
setDictionary(Dictionary dictionary) |
void |
setRefineParameters(RefineParameters refineParameters) |
void |
write(FileStorage fs)
\brief Stores algorithm parameters in a file storage
|
void |
write(FileStorage fs,
BytePointer name)
\brief simplified API for language bindings
|
void |
write(FileStorage fs,
String name) |
clear, empty, getDefaultName, save, save
address, asBuffer, asByteBuffer, availablePhysicalBytes, calloc, capacity, capacity, close, deallocate, deallocate, deallocateReferences, deallocator, deallocator, equals, fill, formatBytes, free, getDirectBufferAddress, getPointer, getPointer, getPointer, hashCode, interruptDeallocatorThread, isNull, isNull, limit, limit, malloc, maxBytes, maxPhysicalBytes, memchr, memcmp, memcpy, memmove, memset, offsetAddress, offsetof, offsetof, parseBytes, physicalBytes, physicalBytesInaccurate, position, put, realloc, referenceCount, releaseReference, retainReference, setNull, sizeof, sizeof, toString, totalBytes, totalCount, totalPhysicalBytes, withDeallocator, zero
public ArucoDetector(Pointer p)
Pointer(Pointer)
.public ArucoDetector(long size)
Pointer.position(long)
.public ArucoDetector(Algorithm pointer)
public ArucoDetector(@Const @ByRef(nullValue="cv::aruco::Dictionary(getPredefinedDictionary(cv::aruco::DICT_4X4_50))") Dictionary dictionary, @Const @ByRef(nullValue="cv::aruco::DetectorParameters()") DetectorParameters detectorParams, @Const @ByRef(nullValue="cv::aruco::RefineParameters()") RefineParameters refineParams)
dictionary
- indicates the type of markers that will be searcheddetectorParams
- marker detection parametersrefineParams
- marker refine detection parameterspublic ArucoDetector()
public ArucoDetector position(long position)
public ArucoDetector getPointer(long i)
getPointer
in class Algorithm
public Algorithm asAlgorithm()
asAlgorithm
in class Algorithm
@Namespace @Name(value="static_cast<cv::Algorithm*>") public static Algorithm asAlgorithm(ArucoDetector pointer)
public void detectMarkers(@ByVal Mat image, @ByVal MatVector corners, @ByVal Mat ids, @ByVal(nullValue="cv::OutputArrayOfArrays(cv::noArray())") MatVector rejectedImgPoints)
image
- input imagecorners
- vector of detected marker corners. For each marker, its four corners
are provided, (e.g std::vectorids
- vector of identifiers of the detected markers. The identifier is of type int
(e.g. std::vectorrejectedImgPoints
- 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 specific 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.
\note The function does not correct lens distortion or takes it into account. It's recommended to undistort
input image with corresponding camera model, if camera parameters are knownundistort, estimatePoseSingleMarkers, estimatePoseBoard
public void detectMarkers(@ByVal Mat image, @ByVal UMatVector corners, @ByVal Mat ids, @ByVal(nullValue="cv::OutputArrayOfArrays(cv::noArray())") UMatVector rejectedImgPoints)
public void detectMarkers(@ByVal Mat image, @ByVal UMatVector corners, @ByVal Mat ids)
public void detectMarkers(@ByVal Mat image, @ByVal GpuMatVector corners, @ByVal Mat ids, @ByVal(nullValue="cv::OutputArrayOfArrays(cv::noArray())") GpuMatVector rejectedImgPoints)
public void detectMarkers(@ByVal Mat image, @ByVal GpuMatVector corners, @ByVal Mat ids)
public void detectMarkers(@ByVal UMat image, @ByVal MatVector corners, @ByVal UMat ids, @ByVal(nullValue="cv::OutputArrayOfArrays(cv::noArray())") MatVector rejectedImgPoints)
public void detectMarkers(@ByVal UMat image, @ByVal MatVector corners, @ByVal UMat ids)
public void detectMarkers(@ByVal UMat image, @ByVal UMatVector corners, @ByVal UMat ids, @ByVal(nullValue="cv::OutputArrayOfArrays(cv::noArray())") UMatVector rejectedImgPoints)
public void detectMarkers(@ByVal UMat image, @ByVal UMatVector corners, @ByVal UMat ids)
public void detectMarkers(@ByVal UMat image, @ByVal GpuMatVector corners, @ByVal UMat ids, @ByVal(nullValue="cv::OutputArrayOfArrays(cv::noArray())") GpuMatVector rejectedImgPoints)
public void detectMarkers(@ByVal UMat image, @ByVal GpuMatVector corners, @ByVal UMat ids)
public void detectMarkers(@ByVal GpuMat image, @ByVal MatVector corners, @ByVal GpuMat ids, @ByVal(nullValue="cv::OutputArrayOfArrays(cv::noArray())") MatVector rejectedImgPoints)
public void detectMarkers(@ByVal GpuMat image, @ByVal MatVector corners, @ByVal GpuMat ids)
public void detectMarkers(@ByVal GpuMat image, @ByVal UMatVector corners, @ByVal GpuMat ids, @ByVal(nullValue="cv::OutputArrayOfArrays(cv::noArray())") UMatVector rejectedImgPoints)
public void detectMarkers(@ByVal GpuMat image, @ByVal UMatVector corners, @ByVal GpuMat ids)
public void detectMarkers(@ByVal GpuMat image, @ByVal GpuMatVector corners, @ByVal GpuMat ids, @ByVal(nullValue="cv::OutputArrayOfArrays(cv::noArray())") GpuMatVector rejectedImgPoints)
public void detectMarkers(@ByVal GpuMat image, @ByVal GpuMatVector corners, @ByVal GpuMat ids)
public void refineDetectedMarkers(@ByVal Mat image, @Const @ByRef Board board, @ByVal MatVector detectedCorners, @ByVal Mat detectedIds, @ByVal MatVector rejectedCorners, @ByVal(nullValue="cv::InputArray(cv::noArray())") Mat cameraMatrix, @ByVal(nullValue="cv::InputArray(cv::noArray())") Mat distCoeffs, @ByVal(nullValue="cv::OutputArray(cv::noArray())") Mat recoveredIdxs)
image
- input imageboard
- 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 elementsrecoveredIdxs
- 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.public void refineDetectedMarkers(@ByVal Mat image, @Const @ByRef Board board, @ByVal MatVector detectedCorners, @ByVal Mat detectedIds, @ByVal MatVector rejectedCorners)
public void refineDetectedMarkers(@ByVal Mat image, @Const @ByRef Board board, @ByVal UMatVector detectedCorners, @ByVal Mat detectedIds, @ByVal UMatVector rejectedCorners, @ByVal(nullValue="cv::InputArray(cv::noArray())") Mat cameraMatrix, @ByVal(nullValue="cv::InputArray(cv::noArray())") Mat distCoeffs, @ByVal(nullValue="cv::OutputArray(cv::noArray())") Mat recoveredIdxs)
public void refineDetectedMarkers(@ByVal Mat image, @Const @ByRef Board board, @ByVal UMatVector detectedCorners, @ByVal Mat detectedIds, @ByVal UMatVector rejectedCorners)
public void refineDetectedMarkers(@ByVal Mat image, @Const @ByRef Board board, @ByVal GpuMatVector detectedCorners, @ByVal Mat detectedIds, @ByVal GpuMatVector rejectedCorners, @ByVal(nullValue="cv::InputArray(cv::noArray())") Mat cameraMatrix, @ByVal(nullValue="cv::InputArray(cv::noArray())") Mat distCoeffs, @ByVal(nullValue="cv::OutputArray(cv::noArray())") Mat recoveredIdxs)
public void refineDetectedMarkers(@ByVal Mat image, @Const @ByRef Board board, @ByVal GpuMatVector detectedCorners, @ByVal Mat detectedIds, @ByVal GpuMatVector rejectedCorners)
public void refineDetectedMarkers(@ByVal UMat image, @Const @ByRef Board board, @ByVal MatVector detectedCorners, @ByVal UMat detectedIds, @ByVal MatVector rejectedCorners, @ByVal(nullValue="cv::InputArray(cv::noArray())") UMat cameraMatrix, @ByVal(nullValue="cv::InputArray(cv::noArray())") UMat distCoeffs, @ByVal(nullValue="cv::OutputArray(cv::noArray())") UMat recoveredIdxs)
public void refineDetectedMarkers(@ByVal UMat image, @Const @ByRef Board board, @ByVal MatVector detectedCorners, @ByVal UMat detectedIds, @ByVal MatVector rejectedCorners)
public void refineDetectedMarkers(@ByVal UMat image, @Const @ByRef Board board, @ByVal UMatVector detectedCorners, @ByVal UMat detectedIds, @ByVal UMatVector rejectedCorners, @ByVal(nullValue="cv::InputArray(cv::noArray())") UMat cameraMatrix, @ByVal(nullValue="cv::InputArray(cv::noArray())") UMat distCoeffs, @ByVal(nullValue="cv::OutputArray(cv::noArray())") UMat recoveredIdxs)
public void refineDetectedMarkers(@ByVal UMat image, @Const @ByRef Board board, @ByVal UMatVector detectedCorners, @ByVal UMat detectedIds, @ByVal UMatVector rejectedCorners)
public void refineDetectedMarkers(@ByVal UMat image, @Const @ByRef Board board, @ByVal GpuMatVector detectedCorners, @ByVal UMat detectedIds, @ByVal GpuMatVector rejectedCorners, @ByVal(nullValue="cv::InputArray(cv::noArray())") UMat cameraMatrix, @ByVal(nullValue="cv::InputArray(cv::noArray())") UMat distCoeffs, @ByVal(nullValue="cv::OutputArray(cv::noArray())") UMat recoveredIdxs)
public void refineDetectedMarkers(@ByVal UMat image, @Const @ByRef Board board, @ByVal GpuMatVector detectedCorners, @ByVal UMat detectedIds, @ByVal GpuMatVector rejectedCorners)
public void refineDetectedMarkers(@ByVal GpuMat image, @Const @ByRef Board board, @ByVal MatVector detectedCorners, @ByVal GpuMat detectedIds, @ByVal MatVector rejectedCorners, @ByVal(nullValue="cv::InputArray(cv::noArray())") GpuMat cameraMatrix, @ByVal(nullValue="cv::InputArray(cv::noArray())") GpuMat distCoeffs, @ByVal(nullValue="cv::OutputArray(cv::noArray())") GpuMat recoveredIdxs)
public void refineDetectedMarkers(@ByVal GpuMat image, @Const @ByRef Board board, @ByVal MatVector detectedCorners, @ByVal GpuMat detectedIds, @ByVal MatVector rejectedCorners)
public void refineDetectedMarkers(@ByVal GpuMat image, @Const @ByRef Board board, @ByVal UMatVector detectedCorners, @ByVal GpuMat detectedIds, @ByVal UMatVector rejectedCorners, @ByVal(nullValue="cv::InputArray(cv::noArray())") GpuMat cameraMatrix, @ByVal(nullValue="cv::InputArray(cv::noArray())") GpuMat distCoeffs, @ByVal(nullValue="cv::OutputArray(cv::noArray())") GpuMat recoveredIdxs)
public void refineDetectedMarkers(@ByVal GpuMat image, @Const @ByRef Board board, @ByVal UMatVector detectedCorners, @ByVal GpuMat detectedIds, @ByVal UMatVector rejectedCorners)
public void refineDetectedMarkers(@ByVal GpuMat image, @Const @ByRef Board board, @ByVal GpuMatVector detectedCorners, @ByVal GpuMat detectedIds, @ByVal GpuMatVector rejectedCorners, @ByVal(nullValue="cv::InputArray(cv::noArray())") GpuMat cameraMatrix, @ByVal(nullValue="cv::InputArray(cv::noArray())") GpuMat distCoeffs, @ByVal(nullValue="cv::OutputArray(cv::noArray())") GpuMat recoveredIdxs)
public void refineDetectedMarkers(@ByVal GpuMat image, @Const @ByRef Board board, @ByVal GpuMatVector detectedCorners, @ByVal GpuMat detectedIds, @ByVal GpuMatVector rejectedCorners)
@Const @ByRef public Dictionary getDictionary()
public void setDictionary(@Const @ByRef Dictionary dictionary)
@Const @ByRef public DetectorParameters getDetectorParameters()
public void setDetectorParameters(@Const @ByRef DetectorParameters detectorParameters)
@Const @ByRef public RefineParameters getRefineParameters()
public void setRefineParameters(@Const @ByRef RefineParameters refineParameters)
public void write(@ByRef FileStorage fs)
public void write(@ByRef FileStorage fs, @opencv_core.Str BytePointer name)
public void write(@ByRef FileStorage fs, @opencv_core.Str String name)
Copyright © 2024. All rights reserved.