本人文着重阐述以下问题:

  • halcon是否只能使用halcon专用的标定板?
  • halcon标定板如何生成?
  • halcon标定板如何摆放,拍照数量有无限制?

halcon是否只能使用halcon专用的标定板?

halcon提供了简便、精准的标定算子并且提供了标定助手,这无疑大大方便了广大开发者。

在halcon中有两种方式可以进行标定:

  • 如halcon自带例程中出现的,用halcon定义的标定板  ,如下图
  • 用户自定义标定板,用户可以制作任何形状、形式的标定板
 
 
 
所以,halcon并非只能使用专用标定板,也可以使用自定义标定板就行标定。
 
使用halcon定义标定板的优势是可以使用halcon的标定板提取算子,提取标记点,而当使用自己定义的标定板格式则需要自己完成此部分工作。
 

halcon标定板如何生成?

 
  1. gen_caltab(::XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile :) 算子来制作一个标定板
    XNum 每行黑色标志圆点的数量。
    YNum 每列黑色标志圆点的数量。
    MarkDist 两个就近黑色圆点中心之间的距离。单位是meter
    DiameterRatio 黑色圆点直径与两圆点中心距离的比值。
    CalTabDescrFile 标定板描述文件的文件路径(.descr)。这两个文件路径是用来存放文件的
    CalTabPSFile 标定板图像文件的文件路径(.ps),

其中,.descr文件为标定板描述文件,.ps文件为标定板图形文件,可以用photoshop(PS)打开

 

一个30*30的标准标定板的示例

  1. 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中你不知道的标定板细节的更多相关文章

  1. Photoshop和Halcon中的极坐标变换

    极坐标想必学过高中数学的人都听过,一般的坐标系中用(x, y)值来描述一个点的位置,而在极坐标系中,则使用到原点的距离ρ和夹角θ来描述该点的位置. 我很早就接触了Photoshop,知道Photosh ...

  2. HALCON中的算子大全(中英对照)

    HALCON中的算子大全(中英对照) Chapter 1 :Classification1.1 Gaussian-Mixture-Models1.add_sample_class_gmm功能:把一个训 ...

  3. 【工程应用一】 多目标多角度的快速模板匹配算法(基于NCC,效果无限接近Halcon中........)

    愿意写代码的人一般都不太愿意去写文章,因为代码方面的艺术和文字中的美学往往很难兼得,两者都兼得的人通常都已经被西方极乐世界所收罗,我也是只喜欢写代码,让那些字母组成美妙的歌曲,然后自我沉浸在其中自得其 ...

  4. Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql

    在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至 ...

  5. C++中const的实现细节介绍(C,C#同理)

    via:http://www.jb51.net/article/45755.htm 本篇文章主要是对C++中const的实现细节进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1.什么 ...

  6. Halcon中的坐标系特点及XLD的镜像转换

    我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角.那么Halcon中坐标系和一般的二维坐标系有什么区别呢?我通过下面这个例子来分析. gen_image_const ...

  7. Halcon中缩放Region或XLD的方法研究

    在Halcon中,Region和XLD之间可以彼此转换.但这种转换并不是“无损”的,XLD可以是不闭合的,但是Region一定是闭合的.因此,如果将不闭合的XLD转为Region,然后再转回XLD,那 ...

  8. ArrayList中的一些小细节@JDK8

    ArrayList中的一些小细节@JDK8 protected transient int modCount = 0; 该变量用于记录ArrayList的版本号,不可被序列化,每次对ArrayList ...

  9. 浅析C#组件编程中的一些小细节

    控件与组件的区别(Control&Component的区别) 作者:作者不详  发布日期:2011-06-30 12:08:41 控件与组件的区别(Control&Component的 ...

随机推荐

  1. ACM-ICPC 2018 南京赛区网络预赛 G. Lpl and Energy-saving Lamps (弱线段树)

    线段树节点维护区间最小值,查找时优先从左侧的区间寻找. 每一次循环都在树中不停寻找第一个小于等于当前持有数的值,然后抹去,直到找不到为止. #include<cstdio> #includ ...

  2. spark 作业提交

    kafka-topics.sh --describe --zookeeper xxxxx:2181 --topic testkafka-run-class.sh kafka.tools.GetOffs ...

  3. android 列表图片优化经历

    先上个优化之后的fps图,丝滑流畅:具体实现请看最终优化后的app 背景:一个通讯录app(开源地址),每次登陆时,针对每个用户,如果头像图片不在本地,则生成一个异步下载任务(AsyncTask). ...

  4. java内存回收

    java中引用类型 强引用 Persnon  p = new Person(); 当指向Person对象的引用计数为0时,Person对象才能被垃圾回收器回收. 软引用 SoftReference&l ...

  5. C++编程中设置文件长度的方法

    转自:http://blog.csdn.net/rrrfff/article/details/6705685 bool SetFileLength(const char *FilePath, off_ ...

  6. Python学习笔记之Python的多重继承和MixIn

    多重继承 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能. 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗: Bat - 蝙蝠: Parr ...

  7. web.xml context-param配置

    context-param 为上下文初始化参数 解析:每个<context-param>元素含有一对参数名和参数值(param-name和param-value),用作应用的Servlet ...

  8. go基础语法

    定义变量: 可放在函数内,或直接放在包内使用var集中定义变量使用:=定义变量写的短一些 package main import ( "fmt" "math" ...

  9. Jquery12 Ajax

    学习要点: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax()方法 6.表单序列化 Ajax ...

  10. hdu 2896:病毒侵袭

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission ...