From 1576bd06113ca6fc9a4ddb68621a636c0a21ee2e Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 31 Dec 2016 07:28:00 +0100 Subject: tracker/aruco: add inactive experimental unsharp masking code It's slow and untested beyond my replaying users' camera feed videos. --- tracker-aruco/ftnoir_tracker_aruco.cpp | 18 ++++++++++++++++++ tracker-aruco/ftnoir_tracker_aruco.h | 9 +++++++++ 2 files changed, 27 insertions(+) (limited to 'tracker-aruco') diff --git a/tracker-aruco/ftnoir_tracker_aruco.cpp b/tracker-aruco/ftnoir_tracker_aruco.cpp index 53907808..ec778624 100644 --- a/tracker-aruco/ftnoir_tracker_aruco.cpp +++ b/tracker-aruco/ftnoir_tracker_aruco.cpp @@ -15,6 +15,10 @@ #include #include +#ifdef DEBUG_UNSHARP_MASKING +# include +#endif + #include #include @@ -34,6 +38,10 @@ constexpr const double aruco_tracker::RC; constexpr const float aruco_tracker::size_min; constexpr const float aruco_tracker::size_max; +#ifdef DEBUG_UNSHARP_MASKING +constexpr double aruco_tracker::gauss_kernel_size; +#endif + aruco_tracker::aruco_tracker() : pose{0,0,0, 0,0,0}, fps(0), @@ -371,6 +379,16 @@ void aruco_tracker::run() cv::cvtColor(color, grayscale, cv::COLOR_RGB2GRAY); +#ifdef DEBUG_UNSHARP_MASKING + { + static constexpr double strength = double(DEBUG_UNSHARP_MASKING); + cv::GaussianBlur(grayscale, blurred, cv::Size(0, 0), gauss_kernel_size); + cv::addWeighted(grayscale, 1 + strength, blurred, -strength, 0, grayscale); + cv::imshow("capture", grayscale); + cv::waitKey(1); + } +#endif + color.copyTo(frame); set_intrinsics(); diff --git a/tracker-aruco/ftnoir_tracker_aruco.h b/tracker-aruco/ftnoir_tracker_aruco.h index 6e7db3f6..53eaa247 100644 --- a/tracker-aruco/ftnoir_tracker_aruco.h +++ b/tracker-aruco/ftnoir_tracker_aruco.h @@ -28,6 +28,8 @@ #include #include +// value 0->1 +//#define DEBUG_UNSHARP_MASKING .75 using namespace options; @@ -98,6 +100,9 @@ private: double pose[6], fps, no_detection_timeout; cv::Mat frame, grayscale, color; cv::Matx33d r; +#ifdef DEBUG_UNSHARP_MASKING + cv::Mat blurred; +#endif std::vector obj_points; cv::Matx33d intrinsics; aruco::MarkerDetector detector; @@ -139,6 +144,10 @@ private: { 0, 0 } }; +#ifdef DEBUG_UNSHARP_MASKING + static constexpr double gauss_kernel_size = 3; +#endif + static constexpr double timeout = 1; static constexpr double timeout_backoff_c = 4./11; -- cgit v1.2.3