Halcon相机标定

2023-10-26

相机标定的概念

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定。
在这里插入图片描述

三维场景所在的坐标:世界坐标
二维照片中每个像素点所在坐标:像素坐标

相机标定求解的参数:从世界坐标系转换为像素坐标系的转换关系

通过相机标定可以校正:由相机位置和被拍摄物体位姿不平行导致的畸变
在这里插入图片描述
相机标定完成:转换关系、消除畸变

相机的畸变

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相机位置和被拍摄物体位姿关系产生的误差

透镜和成像平面(CMOS)不完全平行

在这里插入图片描述

内参解决

镜头和被拍摄物体不完全平行

在这里插入图片描述

外参解决

标定板

在这里插入图片描述

相机标定过程

在这里插入图片描述

生成标定板

gen_caltab (7, 7, 0.0125, 0.5, 'caltab.descr', 'caltab.ps')

在这里插入图片描述

gen_caltab (7, 7, 0.0125, 0.5, 'F:/halcon/halconStudy/caltab.descr', 'F:/halcon/halconStudy/caltab.ps')

在这里插入图片描述
在这里插入图片描述
打印这个文件。。并使用相机拍摄。。。

使用标定助手
在这里插入图片描述

相机拍摄的图片保存在了:F:\halcon\halconStudy\相机标定

在这里插入图片描述

填写相机焦距等参数
在这里插入图片描述
加载图片
在这里插入图片描述
在这里插入图片描述
品质都有问题。。。
在这里插入图片描述
重新拍摄,直到没有问题。。

将比较正的照片设置为参考位姿,然后标定
在这里插入图片描述
标定结果
在这里插入图片描述

摄像机参数:内参
摄像机位姿:外参
畸变系数:Kappa

最后,插入代码
在这里插入图片描述

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

Halcon相机标定 的相关文章

  • 【QT】Halcon与VS的联合编程2

    1 Halcon代码的导出 导出为C 语言 进行机器视觉应用 在halcon界面的菜单栏项上选择 文件 导出 界面如下 导出之后 在上述导出文件的路径下 你就可以看到程序了 此时这个程序就和halcon没有关系了 就是独立的cpp文件了 2
  • 三分钟入门Three.js:如何用JavaScript构建3D场景

    在Web开发中 三维图形越来越受到重视 而Three js作为一款基于WebGL的JavaScript 3D渲染库 为我们提供了一种简单 快捷的方式来创建复杂的3D场景 如果您刚开始学习Three js并想快速入门 那么本文将为您介绍如何用
  • Halcon Qt 环境一次性配置

    新建 halcon pri文件 halcon pri 内容 INCLUDEPATH C Program Files MVTec HALCON 20 11 Steady include INCLUDEPATH C Program Files
  • Camera.ScreenToWorldPoint方法介绍

    Camera ScreenToWorldPoint方法介绍 Camera ScreenToWorldPoint是Unity中的一个方法 用于将屏幕坐标系中的点转换为世界坐标系中的点 这个方法通常用于将鼠标点击的位置 屏幕坐标系 转换为游戏世
  • Halcon API

    1 延时等待 wait seconds 0 5 注 括号内以秒为单位 2 遍历文件夹 list files Directory Options Files Directory 目录 文件夹路径 Options 选项 files 指定搜索的格
  • Halcon/C++编程

    配置环境 网上有许多 可以参考配置opencv的步骤 主要就是在配置库目录 包含目录 lib文件 注意 一定要看清楚是win32还是x64 2 实例 显示一幅图像 TODO 在此添加控件通知处理程序代码 HObject ho Image H
  • uniapp打包app,调用相机功能时在真机调试可以,打包成app之后不行

    在打包成app之后报如图所示错误 解决 在app模块配置勾选上相机这一项 如图 这是主要针对上面这个报错的 当然还有一下情况比较类似 就是相机功能在真机调试下可以 打包之后就不行了 我总结了如下几点 1 代码中的sourceType要配置为
  • opencv图像畸变矫正:源码学习

    参考资料 相机标定 4 矫正畸变 undistort 和initUndistortRectifyMap 背景 opencv提供了直接进行畸变矫正的代码 因在项目中需要使用畸变矫正 因此研究一下opencv中畸变矫正的相关接口与代码 便于学习
  • 【Unity小游戏】游戏开发案例-Unity打造畅玩无阻的小游戏(下)

    击球方阵 乒乓克隆 使用立方体建造竞技场 球拍和球 移动球和球拍 击球并得分 让相机感受到冲击力 给游戏一个抽象的霓虹灯外观 这是有关基础游戏的系列教程中的第一个教程 在其中 我们将创建一个简单的 Pong 克隆 本教程是使用 Unity
  • 英伟达新方法入选CVPR 2023:对未知物体的6D姿态追踪和三维重建

    普通手机 随手 拍的雕像 一下就变成了精细的三维重建图 水杯来回动的动态场景下 细节清晰可见 静态场景效果也同样nice 狗狗突出的肋骨都被还原了出来 对比来看其他方法 效果是酱婶的 这就是英伟达最新提出的方法BundleSDF 这是一种可
  • Halcon三维模型预处理(1):调平的三大手法

    面结构光拍摄生成的点云模型 往往相对系统坐标系是有角度的 首先讲一下调平的目的 1 为接下来的预处理切除背景面做准备 3 不做调平 后续处理会很麻烦 因为不清楚坐标系在平台的为位置 2 对于无序抓取项目 平台相对相机可能是有角度的 将抓取平
  • Halcon:表面裂纹检测

    原图 处理后的图片 主要方法为 对图像进行拆分 提取RGB三个分量 对B分量进行处理 将其转换为频域内图像 并对其进行高斯卷积 再将卷积处理后的图像转换回空间域图像 随后将B分量图像和处理后的B分量图像用算子sub image做差运算 最后
  • unity-障碍物和空气墙的设置

    文章目录 建立空气墙 建立空气墙 建个游戏对象 然后给他添加2d碰撞盒子属性 把它放到相机下面 让它成为相机的所属的子组 跟随相机一起移动通过 创建新的标签便于碰撞确认操作 判断我们游戏操控的物体是否在空气墙上 判断是否处于空气墙上面 pr
  • QT6+Halcon

    2020年12月8日 Qt公司正式发布了Qt 6 0 这一软件开发平台全新的主要版本 Qt 6 0 已被重新设计为面向未来 以生产力为重点的基础平台 QT迎来一个新时代 Qt Halcon这种组合在机器视觉方面应用非常广泛 一 Qt6全新理
  • Halcon极坐标变换检测缺陷

    一 原图 二 通过极性变换拉直 三 检测缺陷 This example checks bottle necks for defects First the bottle is detected with basic morphology e
  • 调用halcon函数时的错误处理

    注 以下材料来自halcon帮助文档 因水平有限 难免有误 欢迎指正 0 概述 在遇到一个运行时错误时 HALCON C 会以默认的方式给出错误信息 并终止程序 然而 在某些情况下 我们并不希望按照这样的规则来处理错误 例如 当一个程序允许
  • Halcon实战记录之二《判断两个直线或者矩形是否相交》

    项目中使用到需要判断两个矩形是否相交 由于我使用Halcon不久 对其算子还不熟悉 不知道是否有现成的算子可以直接实现 如果有 还请各位朋友给留言指出 先谢谢了 我这里用了如下的方法 1 如果两个矩形相交 那么它们中的线段一定会有相交的 我
  • Halcon模板匹配

    Halcon模板匹配 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 原理 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 读取图像 转灰度图 dev close window dev open
  • 基于灰度的模板匹配(带旋转角度)

    原图 选择模板 旋转180度进行识别 继续旋转 依然可以识别 代码 Searching the best matching of a template in an image with rotation dev close window r
  • 讲解SurfaceTexture BufferQueue has been abandoned

    目录 讲解SurfaceTexture BufferQueue has been abandoned 背景知识 问题描述 问题原因和解决方法 1 检查相机状态 2 检查SurfaceTexture状态 3 处理图像数据源中断 4 销毁和重建

随机推荐

  • 开源BT磁力搜索引擎收集

    基本是利用bt网络中p2p技术实现 开源项目上实现了dht网络的搜索 是学习dht算法的好项目 https lanmaowz com open dht spider https github com dontcontactme p2pspi
  • NVIDIA Jetson TX2 解决奥比中光 Astra pro相机的ros 打不开深度信息/camera/depth/image

    背景 NVIDIA Jetson TX2 安装奥比中光 Astra pro相机的ROS 驱动后可以打开彩色相机 打不开深度信息 有点捉急 换了一台相机 还是如此 说明相机没问题驱动有问题 打开奥比中光的开发者论坛 Astra pro无法读取
  • SDN 中 DDoS 攻击问题(论文方法总结)

    SDN 中 DDoS 攻击类型 1 数据平面DDoS攻击 数据平面由多个启用OpenFlow的转发设备组成 这些设备被称为OpenFlow交换机 每个交换机都有一个有限的流表大小来存储规则和有限的处理能力来处理不匹配的数据包 因此 它成为缓
  • rancher部署flink集群

    rancher版本 v2 6 8 k8s版本 v1 22 13 rke2r1 flink集群版本 1 15 0 flink安装模式 session cluster 写在前面 因为参照官网的说明安装过程中出现了很多问题 特记录于此 避免后续重
  • 2020-6-19 Idea打包项目war并且发布到服务器

    打包的介绍 打包和上传到服务器的介绍
  • linux操作系统发行版_Linux操作系统和发行版

    linux操作系统发行版 Newcomers to Linux world generally confuse or no idea about distributions We call generally the operating s
  • ChatGPT能代替搜索引擎吗?ChatGPT和搜索引擎有什么区别?

    ChatGPT和搜索引擎是两种在信息获取和交流中常用的工具 ChatGPT是一种基于人工智能技术的聊天机器人 而搜索引擎是一种在互联网上搜索信息的工具 尽管它们都是依托互联网与信息获取和交流有关 部分功能重合 但在很多方面存在着明显的区别
  • JS逆向

    关注它 不迷路 本文章中所有内容仅供学习交流 不可用于任何商业用途和非法用途 否则后果自负 如有侵权 请联系作者立即删除 1 需求 最近美食群发了很多二维码 提取链接后 可以在移动端的浏览器上愉快的播放 然而 当我把 url 链接复制到 我
  • mac安装vue

    需要提前安装brew 安装方法 mac使用Homebrew安装node 1 安装node 上面链接已经详细介绍如何安装node 这里一笔带过 brew install nodejs node v 2 安装webpack cnpm insta
  • 令人眼花缭乱的区块链名词之:UTXO

    目录 1 交易 2 UTXO hello 大家好 我们第六期的区块链技术分享来啦 本期分享的主题是UTXO Unspent Transaction output 未花费的交易输出 在比特币系统中 每个全节点都会记录UTXO 要理解UTXO模
  • python 爬取今日头条热点新闻

    嗯 今天就让我们来一起爬爬今日头条的热点新闻吧 今日头条地址 https www toutiao com ch news hot 在浏览器中打开今日头条的链接 选中左侧的热点 在浏览器开发者模式 network下很快能找到一个 catego
  • Qt应用程序自动重启(零零散散)

    老有人问如何让Qt的应用程序自动重启 稍微写一点 也顺便理理自己的思路 2011 10 26 自动重启 也就是退出当前进程 启动一个新的进程 于是 先看程序如何退出 退出 Qt程序的一般结构如下 int main int argc char
  • 【Java入门杂记】

    文章目录 快捷键 转义符 数据类型 变量 变量名命名规则 交换数值 运算符 逻辑运算符 Scanner 条件语句 循环语句 字符匹配 随机数 二分查找 快捷键 javac与新建系统变量的java路径有关 atl 补齐敏感提示 Ctrl D
  • Java 多线程案例

    多线程解题套路 循环 同步代码块 判断共享数据 已经到末尾 判断共享数据 没有到末尾 案例一 需求 一共有1000张电影票 可以在两个窗口领取 假设每次领取的时间为3000毫秒 请用多线程模拟卖票过程并打印剩余电影票的数量 代码实现 pac
  • CCF CSP认证题目(Python)

    2022 12 1 n i input split n int n i float i sum 0 text list input split for j in range n 1 text j int text j sum text j
  • Vue如何保存当前页面的状态

    Vue如何保存当前页面的状态 0 引言 1 问题的本质探讨 1 1 保留当前页面的状态 1 2 Vue页面的本质 2 问题的解决方案 2 1 组件销毁的情况下传递参数 2 1 1 利用本地存储 2 1 2 利用路由参数 2 2 组件仍在的情
  • 06目标检测-One-stage的目标检测算法

    一 One stage目标检测算法 使用CNN卷积特征 直接回归物体的类别概率和位置坐标值 无region proposal 准确度低 速度相对two stage快 二 One stage基本流程 输入图片 对图片进行深度特征的提取 主干神
  • xml命名空间

    XML命名空间主要完成两件事情 首先 与C 的命名空间一样 它们可以帮助避免命名冲突 当你要合并来自两个不同XML文件的时候这可能会成为一个问题 其次 命名空间赋予了名称一个绝对的意义 例如 名称 nil 可以代表任何意思 然而 如果和ht
  • VuePress学习指南(下)

    VuePress 如何自定义主题和页面布局 要自定义VuePress的主题 需要做以下几步 创建主题文件夹 在VuePress项目的根目录下创建一个themes文件夹 并在其中新建一个以主题名命名的文件夹 例如my theme 创建主题配置
  • Halcon相机标定

    相机标定 相机标定的概念 相机的畸变 相机位置和被拍摄物体位姿关系产生的误差 透镜和成像平面 CMOS 不完全平行 镜头和被拍摄物体不完全平行 标定板 相机标定过程 相机标定的概念 在图像测量过程以及机器视觉应用中 为确定空间物体表面某点的