Skip to content

Commit 650bf43

Browse files
committed
Update code to take into account solvePnP and solvePnPRansac use InputOutputArray for rvec and tvec parameters.
1 parent d6895a1 commit 650bf43

File tree

6 files changed

+25
-25
lines changed

6 files changed

+25
-25
lines changed

modules/aruco/include/opencv2/aruco.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -387,8 +387,8 @@ class CV_EXPORTS_W GridBoard : public Board {
387387
* Note that returning a 0 means the pose has not been estimated.
388388
*/
389389
CV_EXPORTS_W int estimatePoseBoard(InputArrayOfArrays corners, InputArray ids, const Ptr<Board> &board,
390-
InputArray cameraMatrix, InputArray distCoeffs, OutputArray rvec,
391-
OutputArray tvec, bool useExtrinsicGuess = false);
390+
InputArray cameraMatrix, InputArray distCoeffs, InputOutputArray rvec,
391+
InputOutputArray tvec, bool useExtrinsicGuess = false);
392392

393393

394394

modules/aruco/include/opencv2/aruco/charuco.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ CV_EXPORTS_W int interpolateCornersCharuco(InputArrayOfArrays markerCorners, Inp
184184
*/
185185
CV_EXPORTS_W bool estimatePoseCharucoBoard(InputArray charucoCorners, InputArray charucoIds,
186186
const Ptr<CharucoBoard> &board, InputArray cameraMatrix,
187-
InputArray distCoeffs, OutputArray rvec, OutputArray tvec,
188-
bool useExtrinsicGuess = false);
187+
InputArray distCoeffs, InputOutputArray rvec,
188+
InputOutputArray tvec, bool useExtrinsicGuess = false);
189189

190190

191191

modules/aruco/src/aruco.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1579,8 +1579,8 @@ void refineDetectedMarkers(InputArray _image, const Ptr<Board> &_board,
15791579
/**
15801580
*/
15811581
int estimatePoseBoard(InputArrayOfArrays _corners, InputArray _ids, const Ptr<Board> &board,
1582-
InputArray _cameraMatrix, InputArray _distCoeffs, OutputArray _rvec,
1583-
OutputArray _tvec, bool useExtrinsicGuess) {
1582+
InputArray _cameraMatrix, InputArray _distCoeffs, InputOutputArray _rvec,
1583+
InputOutputArray _tvec, bool useExtrinsicGuess) {
15841584

15851585
CV_Assert(_corners.total() == _ids.total());
15861586

modules/aruco/src/charuco.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,7 @@ static bool _arePointsEnoughForPoseEstimation(const vector< Point3f > &points) {
656656
*/
657657
bool estimatePoseCharucoBoard(InputArray _charucoCorners, InputArray _charucoIds,
658658
const Ptr<CharucoBoard> &_board, InputArray _cameraMatrix, InputArray _distCoeffs,
659-
OutputArray _rvec, OutputArray _tvec, bool useExtrinsicGuess) {
659+
InputOutputArray _rvec, InputOutputArray _tvec, bool useExtrinsicGuess) {
660660

661661
CV_Assert((_charucoCorners.getMat().total() == _charucoIds.getMat().total()));
662662

modules/ccalib/include/opencv2/ccalib.hpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -96,21 +96,21 @@ class CV_EXPORTS CustomPattern : public Algorithm
9696
Calls the calirateCamera function with the same inputs.
9797
*/
9898

99-
bool findRt(InputArray objectPoints, InputArray imagePoints, InputArray cameraMatrix, InputArray distCoeffs,
100-
OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess = false, int flags = SOLVEPNP_ITERATIVE);
101-
bool findRt(InputArray image, InputArray cameraMatrix, InputArray distCoeffs,
102-
OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess = false, int flags = SOLVEPNP_ITERATIVE);
99+
bool findRt(InputArray objectPoints, InputArray imagePoints, InputArray cameraMatrix, InputArray distCoeffs,
100+
InputOutputArray rvec, InputOutputArray tvec, bool useExtrinsicGuess = false, int flags = SOLVEPNP_ITERATIVE);
101+
bool findRt(InputArray image, InputArray cameraMatrix, InputArray distCoeffs,
102+
InputOutputArray rvec, InputOutputArray tvec, bool useExtrinsicGuess = false, int flags = SOLVEPNP_ITERATIVE);
103103
/**<
104104
Uses solvePnP to find the rotation and translation of the pattern
105105
with respect to the camera frame.
106106
*/
107107

108-
bool findRtRANSAC(InputArray objectPoints, InputArray imagePoints, InputArray cameraMatrix, InputArray distCoeffs,
109-
OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess = false, int iterationsCount = 100,
110-
float reprojectionError = 8.0, int minInliersCount = 100, OutputArray inliers = noArray(), int flags = SOLVEPNP_ITERATIVE);
111-
bool findRtRANSAC(InputArray image, InputArray cameraMatrix, InputArray distCoeffs,
112-
OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess = false, int iterationsCount = 100,
113-
float reprojectionError = 8.0, int minInliersCount = 100, OutputArray inliers = noArray(), int flags = SOLVEPNP_ITERATIVE);
108+
bool findRtRANSAC(InputArray objectPoints, InputArray imagePoints, InputArray cameraMatrix, InputArray distCoeffs,
109+
InputOutputArray rvec, InputOutputArray tvec, bool useExtrinsicGuess = false, int iterationsCount = 100,
110+
float reprojectionError = 8.0, int minInliersCount = 100, OutputArray inliers = noArray(), int flags = SOLVEPNP_ITERATIVE);
111+
bool findRtRANSAC(InputArray image, InputArray cameraMatrix, InputArray distCoeffs,
112+
InputOutputArray rvec, InputOutputArray tvec, bool useExtrinsicGuess = false, int iterationsCount = 100,
113+
float reprojectionError = 8.0, int minInliersCount = 100, OutputArray inliers = noArray(), int flags = SOLVEPNP_ITERATIVE);
114114
/**<
115115
Uses solvePnPRansac()
116116
*/

modules/ccalib/src/ccalib.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -425,13 +425,13 @@ double CustomPattern::calibrate(InputArrayOfArrays objectPoints, InputArrayOfArr
425425
}
426426

427427
bool CustomPattern::findRt(InputArray objectPoints, InputArray imagePoints, InputArray cameraMatrix,
428-
InputArray distCoeffs, OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess, int flags)
428+
InputArray distCoeffs, InputOutputArray rvec, InputOutputArray tvec, bool useExtrinsicGuess, int flags)
429429
{
430430
return solvePnP(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec, tvec, useExtrinsicGuess, flags);
431431
}
432432

433433
bool CustomPattern::findRt(InputArray image, InputArray cameraMatrix, InputArray distCoeffs,
434-
OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess, int flags)
434+
InputOutputArray rvec, InputOutputArray tvec, bool useExtrinsicGuess, int flags)
435435
{
436436
vector<Point2f> imagePoints;
437437
vector<Point3f> objectPoints;
@@ -442,25 +442,25 @@ bool CustomPattern::findRt(InputArray image, InputArray cameraMatrix, InputArray
442442
}
443443

444444
bool CustomPattern::findRtRANSAC(InputArray objectPoints, InputArray imagePoints, InputArray cameraMatrix, InputArray distCoeffs,
445-
OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess, int iterationsCount,
446-
float reprojectionError, int minInliersCount, OutputArray inliers, int flags)
445+
InputOutputArray rvec, InputOutputArray tvec, bool useExtrinsicGuess, int iterationsCount,
446+
float reprojectionError, int minInliersCount, OutputArray inliers, int flags)
447447
{
448448
solvePnPRansac(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec, tvec, useExtrinsicGuess,
449-
iterationsCount, reprojectionError, minInliersCount, inliers, flags);
449+
iterationsCount, reprojectionError, minInliersCount, inliers, flags);
450450
return true; // for consistency with the other methods
451451
}
452452

453453
bool CustomPattern::findRtRANSAC(InputArray image, InputArray cameraMatrix, InputArray distCoeffs,
454-
OutputArray rvec, OutputArray tvec, bool useExtrinsicGuess, int iterationsCount,
455-
float reprojectionError, int minInliersCount, OutputArray inliers, int flags)
454+
InputOutputArray rvec, InputOutputArray tvec, bool useExtrinsicGuess, int iterationsCount,
455+
float reprojectionError, int minInliersCount, OutputArray inliers, int flags)
456456
{
457457
vector<Point2f> imagePoints;
458458
vector<Point3f> objectPoints;
459459

460460
if (!findPattern(image, imagePoints, objectPoints))
461461
return false;
462462
solvePnPRansac(objectPoints, imagePoints, cameraMatrix, distCoeffs, rvec, tvec, useExtrinsicGuess,
463-
iterationsCount, reprojectionError, minInliersCount, inliers, flags);
463+
iterationsCount, reprojectionError, minInliersCount, inliers, flags);
464464
return true;
465465
}
466466

0 commit comments

Comments
 (0)