OpenCVSharp之ArucoSample例程

2023-05-16

ArUco:是一个根据预设黑白Markers来估计相机位姿的开源库。该库由C++编写,运行速度很快。已被应用在了机器人导航、增强现实和目标姿态估计中。

DetectorParameters :检测标记程序的参数

属性:

CornerRefinementMethod:角落细化方法(CORNER_REFINE_NONE:没有细化,CORNER_REFINE_SUBPIX:亚像素细分,CORNER_REFINE_CONTOUR :使用轮廓点

CornerRefinementWinSize:角落细化过程的窗口大小(像素,默认值为5)

PredefinedDictionaryName:字典 ,DICT_6X6_250 是一个预定义的字典,它包含6x6位的marker,总共有250个marker,字典越小,内部距离就越大,容错性越强

基本标志检测

public static void DetectMarkers(
	InputArray image,
	Dictionary dictionary,
	out Point2f[][] corners,
	out int[] ids,
	DetectorParameters parameters,
	out Point2f[][] rejectedImgPoints
)

Parameters:

image:输入图像

dictionary:只是将搜索的标记类型

corners:检测到的标记角向量。每个标记都有四个角。对于检测到的N个标记,该阵列的维数为Nx4。角的顺序是从左上角顺时针的。

ids:检测到的标记的标识符向量。标识符类型为int。对于检测到的N个标记,标识符的大小也是N。标识符的顺序与imgPoints数组中的标记相同。

parameters:标记检测参数

rejectedImgPoints:返回了所有markers的候选,例如包含那些没有正确编码的方形。用于调试目的。

在图像中绘制检测到的记

public static void DrawDetectedMarkers(
	InputArray image,
	Point2f[][] corners,
	IEnumerable<int> ids,
	Scalar borderColor
)

Parameters:

image:输入图像

corners:检测到的标记角向量。每个标记都有四个角。对于检测到的N个标记,该阵列的维数为Nx4。角的顺序是顺时针的。

ids:检测到的标记的标识符向量。标识符类型为int。对于检测到的N个标记,标识符的大小也是N。标识符的顺序与imgPoints数组中的标记相同。

borderColor:标记边界的颜色。其余的颜色(文本颜色和第一个角的颜色除外)是基于此计算的,以提高可视化。

 

Cv2.GetPerspectiveTransform:从四对对应的点计算投射变换,该函数计算一个投射变换的3*3矩阵

Cv2.WarpPerspective:对图像应用投射变换

public static void WarpPerspective(

InputArray src,

OutputArray dst,

float[,] m,

Size dsize,

InterpolationFlags flags = InterpolationFlags.Linear,

BorderTypes borderMode = BorderTypes.Constant,

Nullable<Scalar> borderValue = null )

Parameters:

src:输入图像

dst:输出图像

m:3*3变换矩阵

dsize:输出图像大小

flags :插值方法(INTER_LINEAR or INTER_NEAREST)

borderMode :像素外推法

borderValue :边界恒定时使用的值,默认值为0

 

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

OpenCVSharp之ArucoSample例程 的相关文章

  • C语言和C++的区别和联系,大多数人都说错了

    点击蓝字 关注我们 因公众号更改推送规则 xff0c 请点 在看 并加 星标 第一时间获取精彩技术分享 来源于网络 xff0c 侵删 C语言和C 43 43 到底是什么关系 xff1f 首先C 43 43 和C语言本来就是两种不同的编程语言
  • 深入理解C语言中的malloc,malloc() 与 free() 原理图解

    点击蓝字 关注我们 因公众号更改推送规则 xff0c 请点 在看 并加 星标 第一时间获取精彩技术分享 来源于网络 xff0c 侵删 本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程 本文不过度关注细节 xff0c 因此只是
  • C语言项目:灰度处理技术

    Hello xff0c 今天给大家带来的是一个比较简单的图形处理技术 灰度处理技术 那么到底什么是灰度处理技术呢 xff1f 简单来说 xff0c 所谓的灰度处理技术就是把一张彩色的图片变成一张灰色的图片 如下图所示 xff0c 左边是原图
  • React Native重启APP

    有时会用到APP重启操作 xff0c 比如更新代码或者特殊情况的用户注销 0 62及以上版本 只重启JS部分 import DevSettings from 39 react native 39 DevSettings reload 详细请
  • 树莓派3 Ubuntu系统 SD卡或U盘启动

    之前先用SD卡装过Ubuntu系统后 xff0c 用着用着SD卡满了 xff0c 就拿了个U盘来重装一遍 xff0c 发现U盘按照SD卡那样的流程安装之后 xff0c 树莓派配置成可以U盘启动 xff0c 再修改刻录好的U盘里的两个文件就可
  • 手把手教你安装黑苹果之openCore-0.6.3 EFI制作全过程,非常详细

    文章目录 前言一 EFI是什么 xff1f 二 获取EFI1 Hackintosh黑苹果长期维护机型整理清单2 搜索efi 二 自制EFI1 OC Gen X图形化一键自动生成EFI 推荐 2 手动下载EFI所需要的文件下载哪些文件下载op
  • OpenCore 启动菜单界面美化增加gui界面

    前言 OpenCore 默认启动界面是类似于命令行一样的黑乎乎的界面 习惯了clover华丽的启动界面的小伙伴可能不适应了 甚至我之前以为OpenCore启动界面就是这样的不能变呢 xff1f 第一次看到感觉还是clover讨喜 其实Ope
  • secoclient全版本下载分享

    前言 工作需要使用 secoclient xff0c 同事们大多都用 Windows环境 客户提供的客户端也是Windows版本的 这就让使用Mac几个同事难受啦 用Windows虚拟机 xff1f 根据我的经验 xff0c 一般的VPN客
  • Centos升级ruby

    CentOS7 安装的ruby默认版本是 xff1a ruby v span class token punctuation span 11 43 53 span class token punctuation span ruby 2 0
  • Windows 11下载

    Windows 11是微软于2021年推出的Windows NT系列操作系统 xff0c 为Windows 10的后继者 正式版本于2021年10月5日发行 xff0c 并开放给符合条件的Windows 10设备通过Windows Upda
  • docker容器安装图形桌面

    文章目录 视频教程版本信息创建一个CONTAINERubuntu官方国内源docker镜像unminimize中文环境设置中文环境 安装安装TigerVNC Server安装 xfce4精简版本 配置设置vnc密码 vnc xstartup
  • ubuntu官方国内源

    背景 之前我一直在使用中科大的源 xff0c 还是挺快的 一直也没有感觉有什么问题 直到最近在折腾vnc xff0c 发现中科大的源有一些包会404 xff0c 安装不了 而我在vmware中的正好是默认的cn archive ubuntu
  • mame新版ROM下载网站推荐

    网站地址 https www retroroms info index php 中文插件安装 浏览器插件 https www tampermonkey net UP主自己写的脚本 已经失效 https gitee com lxyoucan
  • RuoYi若依打包发布与部署

    上一节我们已经讲过了如果搭建开发环境 xff0c 那么如果代码写完了 xff0c 如何打包发布 部署到生产环境呢 xff1f RuoYi开发实战 搭建开发环境 https blog csdn net lxyoucan article det

随机推荐

  • vscode设置Prettier为默认格式化插件

    1 目的 xff1a ctrl 43 s保存 xff0c 自动格式化文档 2 所需插件Prettier 3 操作步骤 先打开vscode软件 xff0c 左下角点击设置 gt 打开设置 gt 在右上方有一个搜索框 先设定自动保存文件 xff
  • ASUS X415安装系统找不到硬盘解决办法

    同事让我帮忙安装系统 xff0c 笔记本电脑型号是ASUS X415 原本以为是手到擒来的事情 xff0c 结果我在上面还是消耗了不少时间 现象 老毛桃PE 无法识别到硬盘 微PE可以识别到硬盘 xff0c 但是系统安装以后 xff0c 无
  • archlinux中navicat无法使用fcitx5输入法

    现象 archlinux中navicat无法使用fcitx5输入法 而我在ubuntu中使用navicat调用fcitx输入法是可以正常使用的 在网上搜索了很久 xff0c 这方面的文章比较少 而我的其他程序输入法又是正常的 解决办法 参考
  • JetBrains Gateway IDEA远程开发

    为什么进行远程开发 xff1f 无论身处何处数秒内连接至远程环境 充分利用远程计算机的强大功能 在任何笔记本电脑上都可以轻松工作 xff0c 无论其性能如何 借助远程计算机的计算资源 xff0c 充分利用最大规模的数据集和代码库 在远程服务
  • ubuntu 22.04安装nvm

    执行安装脚本 span class token function sudo span span class token function apt span span class token function install span spa
  • 手推DNN,CNN池化层,卷积层反向传播

    反向传播算法是神经网络中用来学习的算法 xff0c 从网络的输出一直往输出方向计算梯度来更新网络参数 xff0c 达到学习的目的 xff0c 而因为其传播方向与网络的推理方向相反 xff0c 因此成为反向传播 神经网络有很多种 xff0c
  • 软件架构概念和面向服务的架构

    摘要 软件架构作为软件开发过程的一个重要组成部分 xff0c 有着各种各样的方法和路线图 xff0c 它们都有一些共同的原则 基于架构的方法作为控制系统构建和演化复杂性的一种手段得到了推广 引言 在计算机历史中 xff0c 软件变得越来越复
  • 初识强化学习,什么是强化学习?

    相信很多人都听过 机器学习 和 深度学习 但是听过 强化学习 的人可能没有那么多 那么 什么是强化学习呢 强化学习是机器学习的一个子领域 它可以随着时间的推移自动学习到最优的策略 在我们不断变化的纷繁复杂的世界里 从更广的角度来看 即使是单
  • 强化学习形式与关系

    在强化学习中有这么几个术语 智能体 Agent 环境 Environment 动作 Action 奖励 Reward 状态 State 有些地方称作观察 Observation 奖励 Reward 在强化学习中 奖励是一个标量 它是从环境中
  • 多层网络和反向传播笔记

    在我之前的博客中讲到了感知器 xff08 感知器 xff09 xff0c 它是用于线性可分模式分类的最简单的神经网络模型 xff0c 单个感知器只能表示线性的决策面 xff0c 而反向传播算法所学习的多层网络能够表示种类繁多的非线性曲面 对
  • 在Kaggle手写数字数据集上使用Spark MLlib的朴素贝叶斯模型进行手写数字识别

    昨天我在Kaggle上下载了一份用于手写数字识别的数据集 xff0c 想通过最近学习到的一些方法来训练一个模型进行手写数字识别 这些数据集是从28 28像素大小的手写数字灰度图像中得来 xff0c 其中训练数据第一个元素是具体的手写数字 x
  • Ros使用自定义数据通讯无法收到消息的分析和解决

    nbsp 在实际的开发中 和别的模块定义了自定义的 数据类型 比如 userMsg msg文件 Header header int32 nState string strImageName string strYamlName 报错和原因
  • 在Kaggle手写数字数据集上使用Spark MLlib的RandomForest进行手写数字识别

    昨天我使用Spark MLlib的朴素贝叶斯进行手写数字识别 xff0c 准确率在0 83左右 xff0c 今天使用了RandomForest来训练模型 xff0c 并进行了参数调优 首先来说说RandomForest 训练分类器时使用到的
  • 遇见AI,从Java到数据挖掘。

    在上小学的时候就听说过AI xff0c 人工智能 xff0c 那个时候我对人工智能的感受都来自于各类影视作品 xff0c 类人的外表 xff0c 能听说读写 xff0c 有情感 xff0c 会思考 所以那个时候的我将人工智能想象成和人类相似
  • PyTorch模型保存与加载

    torch save xff1a 保存序列化的对象到磁盘 xff0c 使用了Python的pickle进行序列化 xff0c 模型 张量 所有对象的字典 torch load xff1a 使用了pickle的unpacking将pickle
  • ROS和ROS2.0到底该用哪个呢?

    很多朋友经常问ROS1 0 下文简称ROS 和ROS2 0我到底该学习 使用哪个呢 欢迎拍砖讨论 但若是因此对您的项目或产品造成了损失 本人不负任何责任 我先给出个人的观点 再说明其中原因 对于大众学习者 普通开发者 机器人算法开发者 在2
  • C++ Primer第五版_第一章习题答案

    文章目录 题目概览1 1 编译器文档1 2 错误标识1 3 Hello World1 4 两数相乘1 5 独立语句1 6 程序合法性1 7 不正确的嵌套注释1 8 语句合法性1 9 50到100的整数相加1 10 递减顺序打印10到0之间的
  • C++ Primer第五版_第十五章习题答案(11~20)

    文章目录 练习15 11练习15 12练习15 13练习15 14练习15 15Disc quote hBulk quote h 练习15 16练习15 17练习15 18练习15 19练习15 20 练习15 11 为你的 Quote 类
  • ROS机器人操作系统(roscpp)

    1 Client Library与roscpp 1 1 Client Library简介 ROS为机器人开发者们提供了不同语言的编程接口 比如C 接口叫做roscpp Python接口叫做rospy Java接口叫做rosjava 尽管语言
  • OpenCVSharp之ArucoSample例程

    ArUco xff1a 是一个根据预设黑白Markers来估计相机位姿的开源库 该库由C 43 43 编写 xff0c 运行速度很快 已被应用在了机器人导航 增强现实和目标姿态估计中 DetectorParameters xff1a 检测标