From f1750a9c7539e3468d0f757f4a2eb7fe19c0ca31 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 3 Aug 2013 20:58:06 +0200 Subject: Provide access to unfiltered, unmapped headpose for cameni --- ftnoir_protocol_ft/ftnoir_protocol_ft.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ftnoir_protocol_ft/ftnoir_protocol_ft.cpp b/ftnoir_protocol_ft/ftnoir_protocol_ft.cpp index d4aa3c49..bb960696 100644 --- a/ftnoir_protocol_ft/ftnoir_protocol_ft.cpp +++ b/ftnoir_protocol_ft/ftnoir_protocol_ft.cpp @@ -126,12 +126,12 @@ float headRotZ; // // Scale the Raw measurements to the client measurements. // - headRotX = getRadsFromDegrees(headpose[Pitch]); - headRotY = getRadsFromDegrees(headpose[Yaw]); - headRotZ = getRadsFromDegrees(headpose[Roll]); - headPosX = headpose[TX] * 10; - headPosY = headpose[TY] * 10; - headPosZ = headpose[TZ] * 10; + headRotX = getRadsFromDegrees(rawheadpose[Pitch]); + headRotY = getRadsFromDegrees(rawheadpose[Yaw]); + headRotZ = getRadsFromDegrees(rawheadpose[Roll]); + headPosX = rawheadpose[TX] * 10; + headPosY = rawheadpose[TY] * 10; + headPosZ = rawheadpose[TZ] * 10; virtRotX = getRadsFromDegrees(headpose[Pitch]); virtRotY = getRadsFromDegrees(headpose[Yaw]); -- cgit v1.2.3 From 2ea042bf8357eb76935bae6f651cebbf0faa07c7 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 3 Aug 2013 20:58:54 +0200 Subject: Improve detection, draw marker borders --- ftnoir_tracker_aruco/ftnoir_tracker_aruco.cpp | 12 +++++++++--- 1 file 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) -- cgit v1.2.3