Skip to content
Snippets Groups Projects
Commit 0d1b67ca authored by Sebastian Hahta's avatar Sebastian Hahta
Browse files

scale intrinsics for aruco detection

parent 40eecf54
No related branches found
No related tags found
1 merge request!340aruco tags; headset position adjustment
Pipeline #29351 failed
......@@ -76,7 +76,7 @@ bool ArUco::apply(Frame &in, Frame &out, cudaStream_t) {
FTL_Profile("ArUco", 0.02);
cv::cvtColor(in.get<cv::Mat>(channel_in_), tmp_, cv::COLOR_BGRA2GRAY);
const Mat K = in.getLeftCamera().getCameraMatrix();
const Mat K = in.getLeftCamera().getCameraMatrix(tmp_.size());
const Mat dist;
cv::aruco::detectMarkers(tmp_, dictionary_,
......
......@@ -87,7 +87,7 @@ struct __align__(16) Camera {
*/
static Camera from(ftl::Configurable*);
cv::Mat getCameraMatrix() const;
cv::Mat getCameraMatrix(const cv::Size& sz={0, 0}) const;
#endif
};
......
......@@ -35,7 +35,8 @@ Camera Camera::from(ftl::Configurable *cfg) {
return r;
}
cv::Mat Camera::getCameraMatrix() const {
cv::Mat Camera::getCameraMatrix(const cv::Size& sz) const {
if (sz == cv::Size{0, 0}) {
cv::Mat K = cv::Mat::eye(cv::Size(3, 3), CV_64FC1);
K.at<double>(0,0) = fx;
K.at<double>(0,2) = -cx;
......@@ -43,6 +44,10 @@ cv::Mat Camera::getCameraMatrix() const {
K.at<double>(1,2) = -cy;
return K;
}
else {
return scaled(sz.width, sz.height).getCameraMatrix();
}
}
/*
* Scale camera parameters to match resolution.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment