halcon中你不知道的标定板细节
本人文着重阐述以下问题:
- halcon是否只能使用halcon专用的标定板?
- halcon标定板如何生成?
- halcon标定板如何摆放,拍照数量有无限制?
halcon是否只能使用halcon专用的标定板?
halcon提供了简便、精准的标定算子并且提供了标定助手,这无疑大大方便了广大开发者。
在halcon中有两种方式可以进行标定:
- 如halcon自带例程中出现的,用halcon定义的标定板 ,如下图

- 用户自定义标定板,用户可以制作任何形状、形式的标定板


halcon标定板如何生成?
gen_caltab(::XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile :) 算子来制作一个标定板
XNum 每行黑色标志圆点的数量。
YNum 每列黑色标志圆点的数量。
MarkDist 两个就近黑色圆点中心之间的距离。单位是meter
DiameterRatio 黑色圆点直径与两圆点中心距离的比值。
CalTabDescrFile 标定板描述文件的文件路径(.descr)。这两个文件路径是用来存放文件的
CalTabPSFile 标定板图像文件的文件路径(.ps),
其中,.descr文件为标定板描述文件,.ps文件为标定板图形文件,可以用photoshop(PS)打开
一个30*30的标准标定板的示例
1 gen_caltab(7,7,0.00375,0.5,'E:/halcon/30_30.descr','E:/halcon/30_30.ps')
2 黑色圆点行数: 7
3 黑色圆点列数: 7
4 外边框长度: 30mm*30mm
5 黑色圆点半径: 0.9375mm (3.75/4)
6 圆点中心间距: 3.75mm
halcon标定板如何摆放,拍照数量有无限制?
- 值得注意的是,并非标定数量越多,越能取得高的精度,halcon建议拍摄数量在9-16张,并且对摆放位置做了建议,如下图所示
- 标定板充满标定视野的1/3-1/4,对于标定板成像灰度值亮度应大于128,以便halcon算子能较顺利的提取到标定板

- 使用halcon标定板的精度如下图所示

扫码关注:halconhub 每日更新精华halcon文章

halcon中你不知道的标定板细节的更多相关文章
- Photoshop和Halcon中的极坐标变换
极坐标想必学过高中数学的人都听过,一般的坐标系中用(x, y)值来描述一个点的位置,而在极坐标系中,则使用到原点的距离ρ和夹角θ来描述该点的位置. 我很早就接触了Photoshop,知道Photosh ...
- HALCON中的算子大全(中英对照)
HALCON中的算子大全(中英对照) Chapter 1 :Classification1.1 Gaussian-Mixture-Models1.add_sample_class_gmm功能:把一个训 ...
- 【工程应用一】 多目标多角度的快速模板匹配算法(基于NCC,效果无限接近Halcon中........)
愿意写代码的人一般都不太愿意去写文章,因为代码方面的艺术和文字中的美学往往很难兼得,两者都兼得的人通常都已经被西方极乐世界所收罗,我也是只喜欢写代码,让那些字母组成美妙的歌曲,然后自我沉浸在其中自得其 ...
- Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql
在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至 ...
- C++中const的实现细节介绍(C,C#同理)
via:http://www.jb51.net/article/45755.htm 本篇文章主要是对C++中const的实现细节进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1.什么 ...
- Halcon中的坐标系特点及XLD的镜像转换
我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角.那么Halcon中坐标系和一般的二维坐标系有什么区别呢?我通过下面这个例子来分析. gen_image_const ...
- Halcon中缩放Region或XLD的方法研究
在Halcon中,Region和XLD之间可以彼此转换.但这种转换并不是“无损”的,XLD可以是不闭合的,但是Region一定是闭合的.因此,如果将不闭合的XLD转为Region,然后再转回XLD,那 ...
- ArrayList中的一些小细节@JDK8
ArrayList中的一些小细节@JDK8 protected transient int modCount = 0; 该变量用于记录ArrayList的版本号,不可被序列化,每次对ArrayList ...
- 浅析C#组件编程中的一些小细节
控件与组件的区别(Control&Component的区别) 作者:作者不详 发布日期:2011-06-30 12:08:41 控件与组件的区别(Control&Component的 ...
随机推荐
- Winter-2-STL-B Brackets 解题报告及测试数据
Time Limit:2000MS Memory Limit:65536KB Description Given a string consisting of brackets of two ...
- hdp (ambari) 集成hue
ambari-server resetambari-admin-password-reset https://github.com/EsharEditor/ambari-hue-service可以基于 ...
- SparkSQL程序设计
1.创建Spark Session val spark = SparkSession.builder . master("local") .appName("spark ...
- 使用selenium前学习HTML介绍
<!-- HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (mark ...
- JS与JAVA数据类型的区别
JavaScript与Java数据类型的区别 阅读目录 Number String Boolean Null Undefined Object 今天开始正式认真学习js,虽然在平常j2ee开发中也 ...
- 防抖debounce和节流throttle
大纲 一.出现缘由 二.什么是防抖debounce和节流throttle 三.应用场景 3.1防抖 3.2节流 一.出现缘由 前端开发中,有一部分用户行为会频繁触发事件,而对于DOM操作,资源加载等耗 ...
- 如何用纯 CSS 创作单元素点阵 loader
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览.https://codepen.io/comehope/pen/YvBvBr 可交互视频 此 ...
- Linux Shell脚本编程--字符串截取
Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} ...
- 20145321 《Java程序设计》第6周学习总结
20145321 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入输出 10.1 InputStream OutputStream 1.数据有来源与目的,衔接两者的是串流 ...
- 在Linux终端管理文件你要知道的11个命令
LS - 列表文件 ls命令列出目录中的文件. 默认情况下,使用ls列出当前目录下的文件. 2 你也可以列出文件递归-也就是说,列出所有文件在当前目录中的目录-使用ls -R.LS还可以列出在其他目录 ...