ArUco估计位姿原理

2023-05-16

ArUco使用

 

PnP

 

【OpenCV/aruco】校准相机(Camera Calibration) Demo

--------------------------------------------------------------------------------------------------------------------------------

使用opencv的aruco库进行位姿估计

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <cv.h>
#include <iostream>
#include <highgui.h>
#include <opencv2/aruco.hpp>
#include <stdio.h>

using namespace cv;
using namespace std;

int main(int argc, char *argv[])

{
//内参与畸变矩阵,笔者在前面的博客已经给出求解方法,有需要的可以找找看看
    double fx,fy,cx,cy,k1,k2,k3,p1,p2;
    fx=955.8925;
    fy=955.4439;
    cx=296.9006;
    cy=215.9074;
    k1=-0.1523;
    k2=0.7722;
    k3=0;
    p1=0;
    p2=0;

  Mat cameraMatrix = (cv::Mat_<float>(3, 3) <<
        fx, 0.0, cx,
        0.0, fy, cy,
        0.0, 0.0, 1.0);
   Mat distCoeffs = (cv::Mat_<float>(5, 1) << k1, k2, p1, p2, k3);
   cv::VideoCapture inputVideo;
   inputVideo.open(0);
   cv::Ptr<cv::aruco::Dictionary> dictionary = cv::aruco::getPredefinedDictionary(cv::aruco::DICT_6X6_250);

   while (inputVideo.grab()) {
       cv::Mat image, imageCopy;
       inputVideo.retrieve(image);//抓取视频中的一张照片
       image.copyTo(imageCopy);
       std::vector<int> ids;
       std::vector<std::vector<cv::Point2f>> corners;
       cv::aruco::detectMarkers(image, dictionary, corners, ids);//检测靶标
       // if at least one marker detected
       if (ids.size() > 0) {
           cv::aruco::drawDetectedMarkers(imageCopy, corners, ids);//绘制检测到的靶标的框
           std::vector<cv::Vec3d> rvecs, tvecs;
           cv::aruco::estimatePoseSingleMarkers(corners, 0.055, cameraMatrix, distCoeffs, rvecs, tvecs);//求解旋转矩阵rvecs和平移矩阵tvecs
           //cout<<"R :"<<rvecs[0]<<endl;
           cout<<"T :"<<tvecs[0]<<endl;
           // draw axis for each marker
           for(int i=0; i<ids.size(); i++)
               cv::aruco::drawAxis(imageCopy, cameraMatrix, distCoeffs, rvecs[i], tvecs[i], 0.1);
       }
       cv::imshow("out", imageCopy);
       cv::waitKey(50);
       //if (key == 27)1
       // break;
   }
return 0;
}

--------------------------------------------------------------------------------------------------------------------------------

三维坐标变换——旋转矩阵与旋转向量互转

Dlib姿态估计——旋转矩阵与欧拉角互转

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ArUco估计位姿原理 的相关文章

  • 【OpenCV3.2】Detection of ArUco Markers 翻译OpenCV文档:ArUco Marker的检测

    这个其实是翻译的opencv的官方文档的aruco部分 https docs opencv org 3 1 0 d5 dae tutorial aruco detection html 视觉降落的二维码检测用到这里面 摘自 xff1a ht
  • SLAM学习——使用ARUCO_marker进行AR投影

    转载自 xff1a https blog csdn net Kalenee article details 90148599 SLAM学习 使用ARUCO marker进行AR投影 white Learner 2020 06 06 15 2
  • ArUco----一个微型现实增强库的介绍及视觉应用(二)

    很重要的一点就是这个 转载自 xff1a https www cnblogs com shawn0102 p 8039439 html ArUco 一个微型现实增强库的介绍及视觉应用 xff08 二 xff09 ArUco 一个微型现实增强
  • 基于opencv的ArUco的视觉定位之ArUco安装

    转载自 xff1a https blog csdn net weixin 43053387 article details 84952557 基于opencv的ArUco的视觉定位之ArUco安装 share space 2019 01 1
  • 我们可以看看美团的无人机二维码降落,也是用的aruco二维码

    摘自 xff1a https mp weixin qq com s ZwjS74fWpSfHx5qk8biogw 其实最外面这个最大的方框就是个二维码 xff01 xff01 xff01 xff01 xff01 然后里面的白色区域有更小的二
  • 【Gazebo仿真·二】Gazebo + ur5e + RealSense + Aruco 二维码识别与跟随仿真

    前言 前一篇文章 Gazebo仿真 一 Gazebo 43 Moveit 43 ur5e机械臂仿真 xff0c 实现了在Gazebo中通过moveit对ur5e机械臂进行控制仿真 xff1b 这一篇文章旨在机械臂末端添加一个RealSens
  • ros使用usb摄像头追踪ArUco markers

    ros使用usb摄像头追踪ArUco markers 注意 xff1a 在通过ros使用usb摄像头追踪ArUco markers之前 xff0c 先进行相机的内参标定 xff0c 否则会出现以下问题 Error TF NAN INPUT
  • [OpenCV] aruco Markers识别

    reference http docs opencv org 3 1 0 d5 dae tutorial aruco detection html 姿态估计 xff08 Pose estimation xff09 在计算机视觉领域扮演着十分
  • 基于ArUco的视觉定位(一)

    一 ArUco简介及安装步骤 ArUco a minimal library for Augmented Reality applications based on OpenCV xff0c 是科尔多瓦大学 人工视觉应用 研究小组 xff0
  • ARUCO marker的解释

    markers for ARUCO 一种汉明 海明 码的格子图 如图 百度百科解释汉明码规则概要 使用奇偶校验 具有一位纠错能力 校验位在2的次幂位置1 2 4 8 16 32 具体参看 https baike baidu com item
  • opencv_contrib aruco源码

    https github com opencv opencv contrib tree master modules 最近使用了aruco模块 想看看aruco的源码是怎样实现的 在opencv源码中一直没找到aruco 原来 他隐藏在op
  • aruco安装 配合realsense 使用

    使用github安装 网址 xff1a http www uco es investiga grupos ava node 26 git clone到本地之后 xff0c catkin make即可开始使用 使用apt安装 span cla
  • opencv_aruco

    文章参考 xff1a ArUco 木筏筏筏的博客 CSDN博客 aruco 1 01 显示识别mark cpp include lt opencv2 highgui hpp gt include lt opencv2 aruco hpp g
  • 源码实现 Aruco检测

    以下为实现aruco检测并读取id的代码 xff0c 直接复制粘贴即可 相信看到这篇博客的伙伴应该知道aruco xff0c 我就不解释了 opencv3 0以上有实现aruco的库 一 cmake编译信息 Cmakelist txt cm
  • 自制aruco识别码

    要自制Aruco识别码 xff0c 你可以使用Aruco库中提供的工具生成自定义识别码 这些工具可以在多种编程语言 如C 43 43 xff0c Python 中使用 xff0c 生成满足你的特定要求的识别码 一旦生成了识别码 xff0c
  • aruco marker使用笔记

    在英伟达Jetson Xaiver开发板上配置 SDK环境 opencv 4 1 1 CUDA 10 2 1 git clone https github com pal robotics aruco ros 2 复制到catkin ws
  • aruco二维码

    1 二维码的生成 简单方式 xff1a 直接在下面的网站上选择 xff0c 操作简单https chev me arucogen 网站界面如下 xff1a
  • 使用Realsense测试aruco_ros包

    01 准备工作 安装realsense ros安装aruco ros span class token builtin class name cd span ur ws src span class token function git s
  • 在 openCV 中的特定坐标处将图像显示在另一图像上

    我试图在特定坐标处将一个图像显示在另一个图像上 我已使用网络摄像头检测到 aruco 标记 并且我想在 aruco 标记上显示另一个图像 aruco 标记可以移动 并且覆盖的图像应与标记一起移动 有各种绘图功能并将文本输入到图像中 我尝试过
  • 如何获得相机旋转? (阿鲁科图书馆)

    我一直在尝试了解下载 Aruco 库时包含的 aruco test cpp 程序的输出 输出具有以下格式 22 236 87 86 4296 422 581 78 3856 418 21 228 032 261 347 228 529 Tx

随机推荐