diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2013-08-03 20:58:54 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2013-08-03 20:58:54 +0200 |
commit | 2ea042bf8357eb76935bae6f651cebbf0faa07c7 (patch) | |
tree | 466e720d3dd46421661ba756631943b65a2a4a83 | |
parent | f1750a9c7539e3468d0f757f4a2eb7fe19c0ca31 (diff) |
Improve detection, draw marker borders
-rw-r--r-- | ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp index 366b5b51..84a3de73 100644 --- a/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp +++ b/ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp @@ -184,14 +184,14 @@ void Tracker::run() aruco::MarkerDetector detector; detector.setDesiredSpeed(3); - cv::Mat color, grayscale, rvec, tvec, tmp; + detector.setThresholdParams(11, 6); + cv::Mat color, grayscale, rvec, tvec; while (!stop) { if (!camera.read(color)) break; - cv::cvtColor(color, tmp, cv::COLOR_BGR2GRAY); - cv::GaussianBlur(tmp, grayscale, cv::Size(5, 5), 0); + cv::cvtColor(color, grayscale, cv::COLOR_BGR2GRAY); const float focal_length_w = 0.5 * grayscale.cols / tan(0.5 * fov * HT_PI / 180); const float focal_length_h = 0.5 * grayscale.rows / tan(0.5 * fov * grayscale.rows / grayscale.cols * HT_PI / 180.0); cv::Mat intrinsics = cv::Mat::eye(3, 3, CV_32FC1); @@ -209,6 +209,12 @@ void Tracker::run() detector.detect(grayscale, markers, cv::Mat(), cv::Mat(), -1, false); + if (markers.size() == 1 && markers[0].size() == 4) { + const aruco::Marker& m = markers.at(0); + for (int i = 0; i < 4; i++) + cv::line(color, m[i], m[(i+1)%4], cv::Scalar(0, 0, 255), 4); + } + frame = color; if (frame.rows > 0 && !fresh) |