1.生成标定板 文件ps格式,可通过ps软件打印出来, 以及标定板的描述文件descr格式

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

2.打开标定助手进行标定:输入相机像素尺寸,焦距参数,加载描述文件,移动标定板到整个视野的不同地方,旋转不同的角度进行采集,采集到十张左右就差不多了,然后选择其中一张为参考位姿,即世界坐标系,最后标定。标定完最好在结果栏中勾选原点在图像角上,则世界坐标系和像素坐标系就重合了,此时像素和实际距离只是比例关系了。

3.生成代码并插入代码

*标定得到的相机参数
CameraParameters := [0.189115,87.4045,2.21885e-006,2.2e-006,2700.85,-118.133,2592,1944]
*相机在世界坐标系中的位姿
CameraPose := [-0.344824,0.0149449,10.9193,0.721803,4.27061,0.733757,0]
stop ()

4.像素坐标系转换为世界坐标系

*像素坐标系到世界坐标系转换(通过比例换算可知道每个像素长度实际代表多少毫米)
*第一个参数为相机参数,第二个参数为相机位姿,第五个参数为计量单位,一般选mm,即100个像素尺寸实际长为X个mm
image_points_to_world_plane (CameraParameters, CameraPose, 100, 100, 'mm', X, Y)

5.测量

*打开相机对待侧物体进行测量
open_framegrabber ('DahengCAM', 1, 1, 0, 0, 0, 0, 'interlaced', 8, 'gray', -1, 'false', 'HV-xx51', '1', 1, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
wait_seconds (1)
grab_image_async (Image, AcqHandle, -1)
dev_display (Image)threshold (Image, Regions, 166, 255)
connection (Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 55908.3, 130688)
fill_up (SelectedRegions, RegionFillUp)
gen_contour_region_xld (RegionFillUp, Contours1, 'border')
fit_circle_contour_xld (Contours1, 'algebraic', -1, 0, 0, 3, 2, Row2, Column2, Radius1, StartPhi1, EndPhi1, PointOrder1)*显示信息
dev_display (Image)
dev_set_draw ('margin')
disp_circle (3600, Row2, Column2, Radius1)
RealDiameter:=Radius1*2/(100/X)
disp_message (3600, '实际直径:'+RealDiameter+'mm', 'image', Row2, Column2, 'black', 'true')
stop()

实际测量了一下该圆齿轮的直径大概在52mm左右,通过标定助手测量得到的结果为53.4278mm,有点误差,因为标定时设置参考位姿是大致摆正标定板使得和像素坐标方向一致,实际上摆的不一定很正,所以会存在误差。实际应用过程中,要拍标定图像经过仿射变换到竖直方向,使得位姿参考即图像坐标系和像素坐标系在x和y方向上是相互平行的,保存后加载该图像进行标定并以它为位姿参考。或者用直尺拉一道竖直的线,将标定板靠着这条线放然后采集标定。

halcon第二十三讲:标定助手标定测量相关推荐

  1. 开环直流电机的机械特性_第二十三讲 20直流PWM变换器-电动机系统及开环调速系统机械特性.ppt...

    第二十三讲 20直流PWM变换器-电动机系统及开环调速系统机械特性 谢谢! 本讲结束 * * 电力传动控制系统 上海开放大学 * 第二十三讲 直流PWM变换器-电动机系统及开环调速系统机械特性 * 不 ...

  2. 织梦仿站系列教程第二十三讲——列表页制作(二)

    织梦后台提示用户名不存在 查看数据库用户名被改为spider 织梦仿站系列教程第二十三讲--列表页制作(二) 这一讲,我们讲下列表页的分页代码,先找到如下代码: 865 1 href="ht ...

  3. halcon:标定助手标定测量

    一 制定标定板 标定需要标定板,标定板可以购买halcon自带的规格,也可以自己上淘宝购买标定板,自己生成标定格式. 当你买到标定板时,首先利用halcon的算子gen_caltab()生成标定板描述 ...

  4. 第二十二讲:自尊与自我实现 第二十三讲:总结(完)

    (注:此为课程第二十二课,更新于2017年7月23日.) 今天我们会讲完自尊,然后下节课将是我们这个学期最后一次课.我会总结一下我们讲过的内容,我们讲过的和我们将要讲的内容. 先回顾一下我们讲过的,就 ...

  5. 第二十三讲 解一阶微分方程组

    例题 {u1′=−u1+2u2u1′=u1−2u2\left\{\begin{matrix}{u_{1}}'=-u_{1}+2u_{2}\\ {u_{1}}'=u_{1}-2u_{2}\end{mat ...

  6. 第二十三讲 狄拉克函数(冲激函数)

    一,脉冲及建立模型 在一个时间区间上的作用等于,如果是恒定的,则 如图: 在小车上作用一个脉冲(一个力使小车左移或右移一段时间),假设时间从0到h,冲量是1(曲线下的面积是1)如图: 假设没有阻尼,弹 ...

  7. Java SE 第二十三讲----static关键字and final关键字

    1.static关键字 [在二十二讲视频中30分钟开始讲授] 2.static修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一一份静态的成员变量:一个对象对该静态成员变量进行了修改,其他 ...

  8. halcon第二十讲:halcon联合c#配置及例程

    一.halcon联合c#配置比联合vc配置简单多了: 1.项目->属性->生成->目标平台改成自己电脑对应的平台,我的电脑是64位的,所以选择x64: 2.右键你的项目->添加 ...

  9. 第二十三讲 狄拉克函数(冲激函数)(补充)

    四,例题: 如图,假设没有阻尼,弹簧常数,在的瞬间,输入一个冲量A,单位冲量为 建立数学模型: 初始条件:(初始位置),(初始速度) 第一步:两边拉式变换 左边: 代入初始条件:, 左边: 右边:(利 ...

最新文章

  1. 常用的Meta标签写法和作用
  2. Android中ActivityManager学习笔记
  3. 使用线程新建WPF窗体(公用进度条窗体)
  4. python获取app信息的库_基于python3抓取pinpoint应用信息入库
  5. tcp通讯 怎么进行安全认证_西门子PLC在博图环境下进行TCP通讯详解
  6. 思科无线服务器,【CISCO wlan】思科无线网络_3-基本配置v2.pdf
  7. c语言回调函数_为什么计算机专业必学C语言?既然是基础,那为何很多人学不懂?...
  8. python 遍历_python dict 两种遍历方式的比较
  9. 同一个接口返回多种数据类型
  10. 论文阅读(1)Large Pose 3D Face Reconstruction from a Single Image via Direct Volumetric CNN Regression
  11. java万年历有农历_家庭农民历五行曰历,日历为什么叫“万年历”
  12. 追逐自己的梦想----------辅助制作第二十四课:寻路call的分析
  13. Binding的使用梳理
  14. 关于MybatisPlus
  15. uniapp 日期时间 计算
  16. java chm文件解析_Java 解析chm文件实战(原创)
  17. SMplayer安装
  18. heka数据流处理工具
  19. 华为手机助手连接不上电脑怎么办
  20. Echarts( Pie,Bar)数据可视化 条形图,柱图,饼图、时间轴代码 JS-NEW

热门文章

  1. excel怎么启用宏_Excel高级应用案例五 学生成绩管理系统
  2. 炫舞卡在正在连接服务器,《QQ炫舞》手游无法连接版本服务器怎么办 服务器断连恢复方法...
  3. 色谱级免疫球蛋白——人IgG全分子相关研究
  4. 微信聊天记录删除后怎么恢复 微信聊天记录怎么恢复与备份
  5. 从代码恐惧到开发大牛:开发者“10倍提升”宝典
  6. Python网站导航项目-3.导航数据后端管理应用开发
  7. 比收费还好用的python免费学习网站(精选)
  8. oAuth2.0 hydra 安装以及模拟验证
  9. SDAU 贪心专题 15 牛奶问题
  10. 如何在Photoshop中创建光剑