add setDetectorParameters()

pull/3325/head
AleksandrPanov 2 years ago
parent 267189d7ff
commit 774a91a0e6
  1. 8
      modules/aruco/test/test_boarddetection.cpp
  2. 11
      modules/aruco/test/test_charucodetection.cpp

@ -82,6 +82,7 @@ void CV_ArucoBoardPose::run(int) {
cameraMatrix.at< double >(1, 2) = imgSize.height / 2;
Mat distCoeffs(5, 1, CV_64FC1, Scalar::all(0));
const int sizeX = 3, sizeY = 3;
aruco::DetectorParameters detectorParameters = detector.getDetectorParameters();
// for different perspectives
for(double distance = 0.2; distance <= 0.4; distance += 0.15) {
@ -98,7 +99,8 @@ void CV_ArucoBoardPose::run(int) {
imgSize, markerBorder);
vector<vector<Point2f> > corners;
vector<int> ids;
detector.getDetectorParameters().markerBorderBits = markerBorder;
detectorParameters.markerBorderBits = markerBorder;
detector.setDetectorParameters(detectorParameters);
detector.detectMarkers(img, corners, ids);
ASSERT_EQ(ids.size(), gridboard->getIds().size());
@ -189,6 +191,7 @@ void CV_ArucoRefine::run(int) {
cameraMatrix.at< double >(0, 2) = imgSize.width / 2;
cameraMatrix.at< double >(1, 2) = imgSize.height / 2;
Mat distCoeffs(5, 1, CV_64FC1, Scalar::all(0));
aruco::DetectorParameters detectorParameters = detector.getDetectorParameters();
// for different perspectives
for(double distance = 0.2; distance <= 0.4; distance += 0.2) {
@ -207,7 +210,8 @@ void CV_ArucoRefine::run(int) {
// detect markers
vector<vector<Point2f> > corners, rejected;
vector<int> ids;
detector.getDetectorParameters().markerBorderBits = markerBorder;
detectorParameters.markerBorderBits = markerBorder;
detector.setDetectorParameters(detectorParameters);
detector.detectMarkers(img, corners, ids, rejected);
// remove a marker from detection

@ -160,7 +160,8 @@ void CV_CharucoDetection::run(int) {
vector<vector<Point2f> > corners;
vector<int> ids;
detector.getDetectorParameters().markerBorderBits = markerBorder;
params.markerBorderBits = markerBorder;
detector.setDetectorParameters(params);
detector.detectMarkers(img, corners, ids);
if(ids.size() == 0) {
@ -264,7 +265,8 @@ void CV_CharucoPoseEstimation::run(int) {
// detect markers
vector< vector< Point2f > > corners;
vector< int > ids;
detector.getDetectorParameters().markerBorderBits = markerBorder;
params.markerBorderBits = markerBorder;
detector.setDetectorParameters(params);
detector.detectMarkers(img, corners, ids);
ASSERT_EQ(ids.size(), board->getIds().size());
@ -348,7 +350,7 @@ void CV_CharucoDiamondDetection::run(int) {
int iter = 0;
Mat cameraMatrix = Mat::eye(3, 3, CV_64FC1);
Size imgSize(500, 500);
aruco::DetectorParameters params ;
aruco::DetectorParameters params;
params.minDistanceToBorder = 0;
aruco::ArucoDetector detector(aruco::getPredefinedDictionary(aruco::DICT_6X6_250), params);
float squareLength = 0.03f;
@ -380,7 +382,8 @@ void CV_CharucoDiamondDetection::run(int) {
// detect markers
vector< vector< Point2f > > corners;
vector< int > ids;
detector.getDetectorParameters().markerBorderBits = markerBorder;
params.markerBorderBits = markerBorder;
detector.setDetectorParameters(params);
detector.detectMarkers(img, corners, ids);
if(ids.size() != 4) {

Loading…
Cancel
Save