Halcon应用:相机标定

提示:若没有查找的算子,可以评论区留言,会尽快更新

Halcon应用:相机标定

  • 前言
  • 一、Halcon应用?
  • 二、应用实战
    • 1、图像理解
      • 1.1、开始标定

前言

本篇博文主要用于记录学习Halcon中算子的应用场景,及其使用代码和图像展示。只讲通俗易懂使用方法,不讲原理,不讲原理,不讲原理,重要的事情说三遍。

相机标定:在图像测量过程以及机器视觉应用中为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定。
大白话就是看到图像中的点位知道真实世界的点位
然而为了准确获得点位,就需要对相机进行标定,不然因为相机存在的误差会导致点位不准确


提示:以下是本篇文章正文内容,下面案例可供参考,注意参数坐标的使用,能帮助你理解算子

一、Halcon应用?

Halcon 是一个强大的图像处理工具,该工具是为了解决机器视觉项目任务而创建的。

二、应用实战

1、图像理解

图像发生扭曲,为了准确获得点位就需要无失真的图像,标定相机就是为了让失真图变为无失真
在这里插入图片描述
如下安装,安装过程中或多或少都会导致安装不准,以及相机生产中的工艺问题,都会导致问题出现,即使是标定板上的圆,也有可能实际拍摄出来变成椭圆。
在这里插入图片描述
我们标定的目的获得相机:

  1. 内参(焦距,像素大小等)
  2. 外参(位置,旋转方向等)
  3. 畸变参数

我们可以采用标准标定吧进行标定:圆形标定板和棋盘格标定板
在这里插入图片描述
我们使用halcon生成一个标定板,并打印出来:

gen_caltab (7, 7, 0.0125, 0.5, 'caltab.descr', 'caltab.ps')
*.ps 文件可以用ps打开1. 7 7 代表 7*7标定2. 0.0125,代表两圆心距离,单位m3. 0.5 代指圆直径与圆心距离的比值,上面参数表示圆直径6.2mm左右

在这里插入图片描述

1.1、开始标定

下面我们用标定助手来进行标定
步骤1、打开标定助手的calibration
2处填入上文算子生成的描述文件
3处填入官方给出的相机参数
在这里插入图片描述
步骤2、 拍摄标定图像
可以提前拍好也可以使用采集助手拍摄
图片数量约15-20张
标定板位置占据图像视野约0.3-0.5
从各个角度开始拍摄
移动位置相机视野要能够看到标定板
相机视野的各个位置并有一定的倾斜
在这里插入图片描述
拍摄例图:

在这里插入图片描述
选择一张平面不倾斜的图作为参考位姿即可,进行下一步的计算
如果标定助手说图有问题,按照要求更改即可
检查没有问题,直接标定即可
在这里插入图片描述
在结果里就可以得到
内参1
外参2
并可以将参数保存,供后面使用
大家可以点击代码生成自己看下代码的结果是啥,并和此图做对比
参数标定至此结束!


如有问题,欢迎大家指出,谢谢!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/80168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Arduino示例代码讲解:Project 08 - Digital Hourglass 数字沙漏

Arduino示例代码讲解:Project 08 - Digital Hourglass 数字沙漏 Project 08 - Digital Hourglass 数字沙漏程序功能概述功能:硬件要求:输出:代码结构全局变量`setup()` 函数`loop()` 函数计时和点亮LED:读取倾斜开关状态:重置LED和计时器:运行过程注意事项Project 08 - …

《计算机视觉度量:从特征描述到深度学习》—深度学习图像特征工程

传统算法的图像特征分析和描述,一直贯穿图像算法的发展。2017年深度学习的出现,很多开发人员和技术人员认为,图像特征分析这个概念可以被深度学习完全取代。很长一段时间以深度学习为主的视觉方案成为主流,逐渐淡化了传统视觉的特…

零部件三维激光扫描检测

制造业竞争激烈,零部件的精准检测与三维数据的高效获取,已成为企业确保产品质量、提升生产效率的核心要素。传统检测手段,往往因效率低下、精度不足,难以满足复杂零部件的检测需求。 传统零部件检测,检测人员通常是手…

KafkaSpark

Kafka Kafka基本概念 卡夫卡是一个分布式、分布订阅的消息系统,作为消息中间件使用。 设计上是一个分布式的、分区的和可复制的提交日志服务。 Kafka的优势 分布式系统,易于扩展。 高吞吐量,支持发布和订阅模式。 支持多地复制&#xff…

图文结合 - 光伏系统产品设计PRD文档 -(慧哥)慧知开源充电桩平台

光伏系统产品设计PRD文档 ‌版本号‌:1.0 ‌修订日期‌:2023年10月 ‌作者‌: 一、文档概述 1.1 背景与目标 ‌行业背景‌:全球光伏装机量年增长20%,数字化运维需求迫切‌用户痛点‌:现有系统存在数据延…

Eyecare-100K:首个覆盖多模态、多任务的高质量眼科视觉指令数据集

2025-04-18 , 由浙江大学、哈尔滨工业大学、郴州市第一人民医院、新加坡国立大学等机构合作创建了 Eyecare-100K数据集,这是首个涵盖多种模态、任务和疾病的高质量眼科视觉指令数据集,为眼科智能诊断领域提供了关键资源,推动了医学视觉语言模…

CoT-Drive:利用 LLM 和思维链提示实现自动驾驶的高效运动预测

25年3月来自澳门大学和 MIT 的论文“CoT-Drive: Efficient Motion Forecasting for Autonomous Driving with LLMs and Chain-of-Thought Prompting”。 准确的运动预测对于安全的自动驾驶 (AD) 至关重要。本研究提出 CoT-Drive,这是一种利用大语言模型 (LLM) 和思…

[FPGA基础] RAM篇

Xilinx FPGA RAM 使用指南 1. 引言 随机存取存储器(RAM)是 Xilinx FPGA 设计中用于存储和快速访问数据的重要资源。Xilinx FPGA 提供多种 RAM 类型,包括块 RAM(Block RAM)和分布式 RAM(Distributed RAM&a…

Elasticsearch内核探秘:从Shard分配到网络通信的深度实践指南

#作者:孙德新 文章目录 一、底层模块深入解析之shard allocation1、shard allocation的介绍2、cluster level shard allocation介绍3、disk-based shard allocation介绍4、shard allocation awareness5、shard allocation filtering6、node下线时的shard延迟分配7、…

SQL Server 2022 常见问题解答:从安装到优化的全场景指南

SQL Server 2022 作为微软最新的数据库管理系统,在性能、安全性和云集成方面带来了多项革新。然而,用户在实际使用中仍可能遇到各类问题。本文将围绕安装配置、性能优化、备份恢复、安全设置、高可用性方案、兼容性问题及错误代码解析等核心场景&#xf…

57、Spring Boot 最佳实践

Spring Boot 最佳实践 一. 开发规范与代码风格 编写高质量的代码不仅需要功能的实现,还需要遵循一定的规范和代码风格,以提高代码的可读性、可维护性和协作效率。以下是 Spring Boot 开发中的一些关键规范和代码风格建议。 1. 代码命名规范 在编写代码时,命名是非常重要的…

​​OSPF核心机制精要:选路、防环与设计原理​

一、OSPF选路规则解析 OSPF作为经典的链路状态路由协议,其选路规则采用层次化优先级机制,不同路由类型遵循严格比较顺序: 1. 路由类型优先级 优先级路由类型描述1域内路由通过1类、2类LSA生成2域间路由通过3类LSA生成3域外路由通过5类/7类…

1.1软考系统架构设计师:系统架构的定义与作用 - 超简记忆要点、知识体系全解、考点深度解析、真题训练附答案及解析

超简记忆要点 定义:结构决策 | 抽象概念 | 多视图模型(逻辑/物理/动态)作用:解耦复杂需求 | 集成扩展 | 指导开发(蓝图)要素:构件(原子/复合) | 连接件(API/…

网络socks 代理

在系统/终端中设了这样的环境变量,而没有在代码中覆盖,HTTPX 就会启用该 socks 代理。 env | grep proxy https_proxyhttps://proxyhk.zte.com.cn:80 http_proxyhttp://proxyhk.zte.com.cn:80 no_proxylocalhost,127.0.0.0/8,::1,zte.com.cn,zte.intra,…

PCB规则

PCB封装 原理图绘制完成需要检查 DRC 菜单栏——>设计——>检查 DRC 底部侧边栏——>DRC——>检查 DRC 常见问题: 1)某个导线/网络标签是一个单网络 网络标签名称不一样 网络标签只有一个 引脚没有使用,但是放置了导线 2&#xf…

图像预处理-图像边缘检测(流程)

一.高斯滤波 因为图像边缘检测就是把像素值有差异的地方提取出来,所以噪声会有很大影响,因此需要对图像进行平滑处理,高斯滤波是流程中常用的方法。 二.计算图像的梯度与方向 过程中通常使用sobel算子进行梯度计算,在OpenCV中&am…

ChatBEV:一种理解 BEV 地图的可视化语言模型

25年3月来自上海交大、上海AI实验室、同济大学和MAGIC的论文“ChatBEV: A Visual Language Model that Understands BEV Maps”。 交通场景理解对于智能交通系统和自动驾驶至关重要,可确保车辆安全高效地运行。虽然 VLM 的最新进展已显示出整体场景理解的前景&…

武装Burp Suite工具:xia SQL自动化测试_插件

武装Burp Suite工具:xia SQL自动化测试_插件 插件作者介绍:本插件仅只插入单引号,没有其他盲注啥的,且返回的结果需要人工介入去判断是否存在注入,如果需要所有注入都测试,请把burp的流量转发到xray。 目录…

线段树讲解(小进阶)

目录 前言 一、线段树知识回顾 线段树区间加减 区间修改维护: 区间修改的操作: 区间修改update: 线段树的区间查询 区间查询: 区间查询的操作: 递归查询过程: 区间查询query: 代码&…

neo4j中节点内的名称显示不全解决办法(如何让label在节点上自动换行)

因为节点过多而且想让节点中所有文字都显示出来而放大节点尺寸 从neo4j中导出png,再转成PDF来查看时,要看清节点里面的文字就得放大5倍才行 在网上看了很多让里面文字换行的办法都不行 然后找到一个比较靠谱的办法是在要显示的标签内加换行符 但是我的节点上显示的是…