From 1dd5449d4fb783ce9c7eaf3502493117860d51a6 Mon Sep 17 00:00:00 2001 From: Pavel Rojtberg Date: Mon, 6 May 2024 14:42:25 +0200 Subject: [PATCH 1/2] ovis: force camera extent update to get correct bbox --- modules/ovis/src/ovis.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/ovis/src/ovis.cpp b/modules/ovis/src/ovis.cpp index 8c0e3431e4c..38dfcbc2ee0 100644 --- a/modules/ovis/src/ovis.cpp +++ b/modules/ovis/src/ovis.cpp @@ -588,6 +588,7 @@ class WindowSceneImpl : public WindowScene cam->setDebugDisplayEnabled(true); cam->setNearClipDistance(1e-9); cam->setFarClipDistance(zFar); + cam->getFrustumExtents(); // force update _setCameraIntrinsics(cam, K, imsize); From 375be9825919f06099f302acfbfa0d723ba41348 Mon Sep 17 00:00:00 2001 From: Pavel Rojtberg Date: Wed, 8 May 2024 16:53:04 +0200 Subject: [PATCH 2/2] ovis: update samples to new aruco API --- modules/ovis/CMakeLists.txt | 2 +- modules/ovis/samples/aruco_ar_demo.cpp | 14 ++++++++------ modules/ovis/samples/aruco_ar_demo.py | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/ovis/CMakeLists.txt b/modules/ovis/CMakeLists.txt index 912b86a590d..aff20c2b63e 100644 --- a/modules/ovis/CMakeLists.txt +++ b/modules/ovis/CMakeLists.txt @@ -24,7 +24,7 @@ ocv_glob_module_sources() ocv_module_include_directories() ocv_create_module() -ocv_add_samples(opencv_aruco) +ocv_add_samples(opencv_objdetect opencv_aruco) ocv_warnings_disable(CMAKE_CXX_FLAGS -Wunused-parameter) ocv_target_link_libraries(${the_module} ${OGRE_LIBRARIES}) diff --git a/modules/ovis/samples/aruco_ar_demo.cpp b/modules/ovis/samples/aruco_ar_demo.cpp index 2398a7182a3..0b265beea84 100644 --- a/modules/ovis/samples/aruco_ar_demo.cpp +++ b/modules/ovis/samples/aruco_ar_demo.cpp @@ -3,7 +3,7 @@ #include #include -#include +#include #include @@ -24,10 +24,12 @@ int main() const double focal_length = 800.0; // aruco - Ptr adict = aruco::getPredefinedDictionary(aruco::DICT_4X4_50); - //Mat out_img; - //aruco::drawMarker(adict, 0, 400, out_img); - //imshow("marker", out_img); + aruco::Dictionary adict = aruco::getPredefinedDictionary(aruco::DICT_4X4_50); + + aruco::ArucoDetector detector(adict); + Mat out_img; + adict.generateImageMarker(0, 400, out_img); + imshow("marker", out_img); // random calibration data, your mileage may vary Mat1d cm = Mat1d::zeros(3, 3); // init empty matrix @@ -53,7 +55,7 @@ int main() while (ovis::waitKey(1) != KEY_ESCAPE) { cap.read(img); win->setBackground(img); - aruco::detectMarkers(img, adict, corners, ids); + detector.detectMarkers(img, corners, ids); waitKey(1); diff --git a/modules/ovis/samples/aruco_ar_demo.py b/modules/ovis/samples/aruco_ar_demo.py index 72aeeaebea3..5877d915d9e 100644 --- a/modules/ovis/samples/aruco_ar_demo.py +++ b/modules/ovis/samples/aruco_ar_demo.py @@ -3,7 +3,7 @@ # aruco adict = cv.aruco.getPredefinedDictionary(cv.aruco.DICT_4X4_50) -cv.imshow("marker", cv.aruco.drawMarker(adict, 0, 400)) +cv.imshow("marker", adict.generateImageMarker(0, 400)) # random calibration data. your mileage may vary. imsize = (800, 600)