Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd65f3d3

Browse files
author
Alex
committed
fix drawDetectedCornersCharuco, added tests
1 parent757d296 commitd65f3d3

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

‎modules/objdetect/src/aruco/charuco_detector.cpp‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,7 @@ void drawDetectedCornersCharuco(InputOutputArray _image, InputArray _charucoCorn
509509
(_image.getMat().channels() ==1 || _image.getMat().channels() ==3));
510510
CV_Assert((_charucoCorners.getMat().total() == _charucoIds.getMat().total()) ||
511511
_charucoIds.getMat().total() ==0);
512+
CV_Assert(_charucoCorners.getMat().type() == CV_32FC2);
512513

513514
size_t nCorners = _charucoCorners.getMat().total();
514515
for(size_t i =0; i < nCorners; i++) {

‎modules/objdetect/test/test_charucodetection.cpp‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,20 @@ TEST(Charuco, testmatchImagePoints)
689689
}
690690
}
691691

692+
TEST(Charuco, testDrawDetected) {
693+
vector<vector<Point2f>> detected = {{Point2f(0.f,0.f),Point2f(50.f,0.f),Point2f(50.f,50.f),Point2f(0.f,50.f)}};
694+
vector<vector<Point2d>> detected_double = {{Point2d(0.,0.),Point2d(50.,0.),Point2d(50.,50.),Point2d(0.,50.)}};
695+
Mat res =Mat::zeros(50,50, CV_8UC1);
696+
697+
EXPECT_NO_THROW(aruco::drawDetectedMarkers(res, detected));
698+
EXPECT_NO_THROW(aruco::drawDetectedCornersCharuco(res, detected[0]));
699+
EXPECT_NO_THROW(aruco::drawDetectedDiamonds(res, detected));
700+
701+
EXPECT_ANY_THROW(aruco::drawDetectedMarkers(res, detected_double));
702+
EXPECT_ANY_THROW(aruco::drawDetectedCornersCharuco(res, detected_double[0]));
703+
EXPECT_ANY_THROW(aruco::drawDetectedDiamonds(res, detected_double));
704+
}
705+
692706
typedef testing::TestWithParam<cv::Size> CharucoBoard;
693707
INSTANTIATE_TEST_CASE_P(/**/, CharucoBoard, testing::Values(Size(3,2), Size(3,2), Size(6,2), Size(2,6),
694708
Size(3,4), Size(4,3), Size(7,3), Size(3,7)));

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp