From 820af3a03aecdf0e91a5c7e0a1b80b60cd69f163 Mon Sep 17 00:00:00 2001 From: Vladislav Sovrasov Date: Wed, 25 Jan 2017 16:32:41 +0300 Subject: [PATCH] aruco::Board::create: fix debug assertion fail --- modules/aruco/src/aruco.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/modules/aruco/src/aruco.cpp b/modules/aruco/src/aruco.cpp index 0c3b2ee0c..459595646 100644 --- a/modules/aruco/src/aruco.cpp +++ b/modules/aruco/src/aruco.cpp @@ -1284,14 +1284,11 @@ Ptr Board::create(InputArrayOfArrays objPoints, const Ptr &di for (unsigned int i = 0; i < objPoints.total(); i++) { std::vector corners; Mat corners_mat = objPoints.getMat(i); - if(objPoints.type() == CV_32FC1) - { - CV_Assert(corners_mat.total() == 12); - } - else - { - CV_Assert(corners_mat.total() == 4); - } + + if(corners_mat.type() == CV_32FC1) + corners_mat = corners_mat.reshape(3); + CV_Assert(corners_mat.total() == 4); + for (int j = 0; j < 4; j++) { corners.push_back(corners_mat.at(j)); }