Skip to content

Commit 4c3cc7b

Browse files
author
AleksandrPanov
committed
add pimpl for ArucoDetector
1 parent 4db2299 commit 4c3cc7b

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

modules/aruco/test/test_boarddetection.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,15 @@ void CV_ArucoBoardPose::run(int) {
9191
vector<int> tmpIds;
9292
for(int i = 0; i < sizeX*sizeY; i++)
9393
tmpIds.push_back((iter + int(i)) % 250);
94-
Ptr<aruco::GridBoard> gridboard = aruco::GridBoard::create(sizeX, sizeY, 0.02f, 0.005f, detector.dictionary, tmpIds);
94+
Ptr<aruco::GridBoard> gridboard = aruco::GridBoard::create(sizeX, sizeY, 0.02f, 0.005f, detector.getDictionary(), tmpIds);
9595
int markerBorder = iter % 2 + 1;
9696
iter++;
9797
// create synthetic image
9898
Mat img = projectBoard(gridboard, cameraMatrix, deg2rad(yaw), deg2rad(pitch), distance,
9999
imgSize, markerBorder);
100100
vector<vector<Point2f> > corners;
101101
vector<int> ids;
102-
detector.detectorParams->markerBorderBits = markerBorder;
102+
detector.getDetectorParameters()->markerBorderBits = markerBorder;
103103
detector.detectMarkers(img, corners, ids);
104104

105105
ASSERT_EQ(ids.size(), gridboard->getIds().size());
@@ -185,7 +185,7 @@ void CV_ArucoRefine::run(int) {
185185
int iter = 0;
186186
Mat cameraMatrix = Mat::eye(3, 3, CV_64FC1);
187187
Size imgSize(500, 500);
188-
Ptr<aruco::GridBoard> gridboard = aruco::GridBoard::create(3, 3, 0.02f, 0.005f, detector.dictionary);
188+
Ptr<aruco::GridBoard> gridboard = aruco::GridBoard::create(3, 3, 0.02f, 0.005f, detector.getDictionary());
189189
cameraMatrix.at< double >(0, 0) = cameraMatrix.at< double >(1, 1) = 650;
190190
cameraMatrix.at< double >(0, 2) = imgSize.width / 2;
191191
cameraMatrix.at< double >(1, 2) = imgSize.height / 2;
@@ -198,7 +198,7 @@ void CV_ArucoRefine::run(int) {
198198
vector<int> tmpIds;
199199
for(unsigned int i = 0; i < gridboard->getIds().size(); i++)
200200
tmpIds.push_back(iter + int(i) % 250);
201-
gridboard = aruco::GridBoard::create(3, 3, 0.02f, 0.005f, detector.dictionary, tmpIds);
201+
gridboard = aruco::GridBoard::create(3, 3, 0.02f, 0.005f, detector.getDictionary(), tmpIds);
202202
int markerBorder = iter % 2 + 1;
203203
iter++;
204204

@@ -208,7 +208,7 @@ void CV_ArucoRefine::run(int) {
208208
// detect markers
209209
vector<vector<Point2f> > corners, rejected;
210210
vector<int> ids;
211-
detector.detectorParams->markerBorderBits = markerBorder;
211+
detector.getDetectorParameters()->markerBorderBits = markerBorder;
212212
detector.detectMarkers(img, corners, ids, rejected);
213213

214214
// remove a marker from detection

modules/aruco/test/test_charucodetection.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ void CV_CharucoDetection::run(int) {
135135
Ptr<aruco::DetectorParameters> params = makePtr<aruco::DetectorParameters>();
136136
params->minDistanceToBorder = 3;
137137
aruco::ArucoDetector detector(aruco::getPredefinedDictionary(aruco::DICT_6X6_250), params);
138-
Ptr<aruco::CharucoBoard> board = aruco::CharucoBoard::create(4, 4, 0.03f, 0.015f, detector.dictionary);
138+
Ptr<aruco::CharucoBoard> board = aruco::CharucoBoard::create(4, 4, 0.03f, 0.015f, detector.getDictionary());
139139

140140
cameraMatrix.at<double>(0, 0) = cameraMatrix.at<double>(1, 1) = 600;
141141
cameraMatrix.at<double>(0, 2) = imgSize.width / 2;
@@ -160,7 +160,7 @@ void CV_CharucoDetection::run(int) {
160160
vector<vector<Point2f> > corners;
161161
vector<int> ids;
162162

163-
detector.detectorParams->markerBorderBits = markerBorder;
163+
detector.getDetectorParameters()->markerBorderBits = markerBorder;
164164
detector.detectMarkers(img, corners, ids);
165165

166166
if(ids.size() == 0) {
@@ -241,7 +241,7 @@ void CV_CharucoPoseEstimation::run(int) {
241241
Ptr<aruco::DetectorParameters> params = makePtr<aruco::DetectorParameters>();
242242
params->minDistanceToBorder = 3;
243243
aruco::ArucoDetector detector(aruco::getPredefinedDictionary(aruco::DICT_6X6_250), params);
244-
Ptr<aruco::CharucoBoard> board = aruco::CharucoBoard::create(4, 4, 0.03f, 0.015f, detector.dictionary);
244+
Ptr<aruco::CharucoBoard> board = aruco::CharucoBoard::create(4, 4, 0.03f, 0.015f, detector.getDictionary());
245245

246246
cameraMatrix.at< double >(0, 0) = cameraMatrix.at< double >(1, 1) = 650;
247247
cameraMatrix.at< double >(0, 2) = imgSize.width / 2;
@@ -264,7 +264,7 @@ void CV_CharucoPoseEstimation::run(int) {
264264
// detect markers
265265
vector< vector< Point2f > > corners;
266266
vector< int > ids;
267-
detector.detectorParams->markerBorderBits = markerBorder;
267+
detector.getDetectorParameters()->markerBorderBits = markerBorder;
268268
detector.detectMarkers(img, corners, ids);
269269

270270
ASSERT_EQ(ids.size(), board->getIds().size());
@@ -369,7 +369,7 @@ void CV_CharucoDiamondDetection::run(int) {
369369
for(int i = 0; i < 4; i++)
370370
idsTmp.push_back(4 * iter + i);
371371
Ptr<aruco::CharucoBoard> board = aruco::CharucoBoard::create(3, 3, squareLength, markerLength,
372-
detector.dictionary, idsTmp);
372+
detector.getDictionary(), idsTmp);
373373
iter++;
374374

375375
// get synthetic image
@@ -380,7 +380,7 @@ void CV_CharucoDiamondDetection::run(int) {
380380
// detect markers
381381
vector< vector< Point2f > > corners;
382382
vector< int > ids;
383-
detector.detectorParams->markerBorderBits = markerBorder;
383+
detector.getDetectorParameters()->markerBorderBits = markerBorder;
384384
detector.detectMarkers(img, corners, ids);
385385

386386
if(ids.size() != 4) {
@@ -392,7 +392,7 @@ void CV_CharucoDiamondDetection::run(int) {
392392
vector< vector< Point2f > > diamondCorners;
393393
vector< Vec4i > diamondIds;
394394
aruco::detectCharucoDiamond(img, corners, ids, squareLength / markerLength, diamondCorners, diamondIds,
395-
cameraMatrix, distCoeffs, detector.dictionary);
395+
cameraMatrix, distCoeffs, detector.getDictionary());
396396

397397
// check results
398398
if(diamondIds.size() != 1) {
@@ -678,7 +678,7 @@ TEST(Charuco, issue_14014)
678678
detectorParams->cornerRefinementMethod = aruco::CORNER_REFINE_SUBPIX;
679679
detectorParams->cornerRefinementMinAccuracy = 0.01;
680680
aruco::ArucoDetector detector(aruco::getPredefinedDictionary(aruco::DICT_7X7_250), detectorParams);
681-
Ptr<aruco::CharucoBoard> board = aruco::CharucoBoard::create(8, 5, 0.03455f, 0.02164f, detector.dictionary);
681+
Ptr<aruco::CharucoBoard> board = aruco::CharucoBoard::create(8, 5, 0.03455f, 0.02164f, detector.getDictionary());
682682

683683
vector<Mat> corners, rejectedPoints;
684684
vector<int> ids;

0 commit comments

Comments
 (0)