惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Latest
Security Latest
Know Your Adversary
Know Your Adversary
S
Schneier on Security
K
Kaspersky official blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Google DeepMind News
Google DeepMind News
Project Zero
Project Zero
Recorded Future
Recorded Future
T
The Blog of Author Tim Ferriss
P
Palo Alto Networks Blog
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
L
LINUX DO - 热门话题
The Register - Security
The Register - Security
B
Blog
V
Vulnerabilities – Threatpost
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
Cyberwarzone
Cyberwarzone
Latest news
Latest news
Webroot Blog
Webroot Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
L
LINUX DO - 最新话题
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
The GitHub Blog
The GitHub Blog
D
Docker
G
Google Developers Blog
T
Threatpost
F
Full Disclosure
Attack and Defense Labs
Attack and Defense Labs
L
Lohrmann on Cybersecurity
Application and Cybersecurity Blog
Application and Cybersecurity Blog
月光博客
月光博客
D
DataBreaches.Net
WordPress大学
WordPress大学
F
Fortinet All Blogs
S
Secure Thoughts
Y
Y Combinator Blog
博客园 - Franky
Scott Helme
Scott Helme
Apple Machine Learning Research
Apple Machine Learning Research
Hacker News: Ask HN
Hacker News: Ask HN
酷 壳 – CoolShell
酷 壳 – CoolShell
Cloudbric
Cloudbric
N
News | PayPal Newsroom

博客园 - 夏天/isummer

vcpkg的安装,配置vs2022, 全局使用,清单使用 wsGLCanvas中的OnPaint和OnSize的调用顺序 Visual Studio 2022中配置Eigen.Natvis文件,实现Debug查看:Eigen库查看矩阵与向量的值 “模型法线到视图法线”的变换矩阵(normal matrix)的计算和作用 python 用control库绘制自动控制原理中的根轨迹: C++ 无法从“const char [ ]”转换为“char *” 根据文件内存字节数,返回文件占用内存大小:单位:T,G,M,K,B 泛洪算法(Flood fill Algorithm):符号洪水填充算法 opengl中的glDrawElements 用法和glDrawArray opengl中的VBO,IBO,VAO,EBO总结: OpenGL着色器Shader小结 VS2022 在编译大型项目出现:c/c++ intellance 操作-优化VS2022,提高Intellance速度 用VS2022创建空桌面程序【Empty】运行wxWidgets应用,报错:MSVCRTD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 main VS下使用全局配置的方式使用VCPKG vcpkg 安装过程中install的参数: 【/MT、/MTd、/MD、/MDd】C++ 出现异常“.... \debug_heap.cpp Line:980 Expression:__acrt_first_block==header"【已解决】 - 夏天/isummer QString的tostdstring问题-提示堆栈内存溢出(2024.12) vsftpd和FileZiler配置:本地登录,支持上传-下载-删除文件和目录-添加文件和目录 PyQt开发-mkvirtualenv虚拟环境 线程池ThreadPool, C++ github 命令git下载失败: Failed to connect to github.com port 443 解决方案,解决CMAKE中下载其他库失败的问题
ApriTags应用
夏天/isummer · 2025-04-29 · via 博客园 - 夏天/isummer

 AprilTags:AprilTag是一个视觉基准库,在AR,机器人,相机校准领域广泛使用。通过特定的标志(与二维码相似,但是降低了复杂度以满足实时性要求),可以快速地检测标志,并计算相对位置。

  是机器视觉不可或缺的一部分,包括但不限于以下应用:

  • 摄像机标定
    对象大小估计
    测量相机和物体之间的距离
    3D定位
    对象定向
    机器人技术(即自主导航到特定标记)
  • Camera calibration

    Object size estimation

    Measuring the distance between the camera and an object

    3D positioning

    Object orientation

    Robotics (i.e., autonomously navigating to a specific marker)

   AprilTags的主要优点之一是可以使用基本软件和打印机创建。只需在系统上生成AprilTag,将其打印出来,并将其包含在图像处理管道中——Python库可以为您自动检测AprilTag!

 下载:AprilTags:https://berndpfrommer.github.io/tagslam_web/making_tags/

  AprilTag内容主要包含三个步骤。

第一步是如何根据梯度检测出图像中的各种边缘。
第二步即如何在边缘图像中找出需要的四边形图案并进行筛选,AprilTag尽可能的对检测出的边缘检测,首先剔除非直线边缘,在直线边缘进行邻接边缘查找,最终若形成闭环则为检测到一个四边形。
最后一个步便是如何进行二维码编码和二维码解码,编码方式分为三种,其黑边色块长度分别为8,7,6三个色块长度,对于解码内容,要在检测到的四边形内生成点阵列用于计算每色块的值,再根据局部二值模式(Local Binary Patterns)构造简单分类器对四边形内的色块进行分类,将正例色块编码为1将负例色块编码为0,就可以得到该二维码的编码。得到编码以后再与已知库内的编码进行匹配,确定解码出的二维码是否为正确。
 

  实施步骤1:AprilTag边缘检测

  对于第一步来说,最主要的功能就是寻找图像中的边缘,原文章使用的是局部二值模式,但是实际使用中,我建议可以使用Canny算子方法,虽然检测出的边缘会减少,但是相应的也降低了图像中的噪点。

下图是Candy算子

  实施步骤2:四边形检测

对于得到的二值化边缘图像,需要对其进行多边形分析,首先运用
边缘结构分析(Topological structural analysis of digitized binary images)查找多边形,该方法用于确定二值图像边缘的围绕关系,即确定外边缘,内边缘以及它们之间嵌套关系,确定的边缘都与原图都有相对应的关系,因此完全可以用边缘来表示原图。该算法采用编码的思想,首先赋予不同的边缘以不同的编码值,这样方便确认多边形的层次关系。算法从起点开始,编辑边缘的像素,寻找该起始点同类的边缘点,当扫描至起始点时,该多边形闭环形成,切换至下一个起始点重复该操作,直到所有的二值点都被遍历,排除边数小于4的,将满足条件的进行进一步处理。
 

参考:

  https://pyimagesearch.com/2020/11/02/apriltag-with-python/

  https://blog.csdn.net/han784851198/article/details/90261197