当前位置: 首页 > article >正文

Halcon 5分钟学会9点标定 带图片示例、示例源码

9点标定应用流程

前置条件,相机焦距,视野固定高度和角度,光源光强度固定。

  1. 移动机械手,使用螺丝批头,在视野范围内的白纸上,点九个点,记录每个点位的位置,每个点位的顺序要和图像上获取的圆心数组顺序一致,此时得到9个点的世界坐标,x和y
  2. 位置记录完成后,机械手返回拍照位置。将步骤1中,9个点图片拍摄下来。
  3. Halcon 导入图片,对图片进行操作
    • 灰度化
    • 灰度筛选
    • 填充圆中缺失
    • 开操作,将圆形分离出来
    • 根据类圆特征获取圆形
    • 对获取到的每个圆形进行获取其最小外接圆,生成圆心坐标和半径
  4. 已知机械(世界坐标)和图片上的点位(像素坐标),根据公式得出偏移对象
  5. 后续根据实际图片中定位的目标像素坐标,和偏移图像,即可换算出机械手应该移动的实际机械坐标。

示例图片
请添加图片描述

dev_set_color('red')
read_image (Image, 'O:/草稿/test.jpg')

rgb1_to_gray (Image, GrayImage)
threshold (GrayImage, Regions, 13, 71)

*填充缺失
fill_up_shape (Regions, WiresFilled, 'area', 1, 100)

*开操作 腐蚀和膨胀的结合,即先腐蚀后膨胀
opening_circle (WiresFilled, Balls, 15.5)

connection (Balls, SingleBalls)

*找到具有目标特征的形状,这边填写的参数是 ‘circularity’ ,就是类圆的图形;
select_shape (SingleBalls, IntermediateBalls, 'circularity', 'and', 0.85, 1.0)

*确定这些圆形区域的最小外接圆,并将输出的坐标和半径做处理后输出
smallest_circle (SingleBalls, Row, Column, Radius)

*生成 虚拟机械坐标 行往下偏移80
WorldRow := []
WorldCol :=[]

for Index := 0 to |Row|-1 by 1
    WorldRow[Index] := Row[Index]+80
    WorldCol[Index] := Column[Index]
    gen_circle (Circle, WorldRow[Index], WorldCol[Index], 10)
endfor

*生成标定
vector_to_hom_mat2d (Row, Column, WorldRow, WorldCol, HomMat2D1)

*设置目标机械坐标
gen_circle (Circle, 20, 100, 10)

*坐标转换  (Row3,Column3)像素坐标点位, (Qx,Qy)转换后的世界坐标
affine_trans_point_2d (HomMat2D1, 20, 100, Qx, Qy)

dev_set_color('green')
gen_circle (Circle, Qx, Qy, 10)

结果,红色大圆圈为像素坐标,红色小圆圈为机械坐标位置,绿色为目标实际机械坐标位置
在这里插入图片描述


http://www.kler.cn/a/146265.html

相关文章:

  • Web端实时播放RTSP视频流(监控)
  • Solidity01 Solidity极简入门
  • mac 安装mongodb
  • C++速览之智能指针
  • 文件操作:系统IO
  • windows 搭建flutter环境,开发windows程序
  • 【活动回顾】sCrypt在2023伦敦区块链大会上的精彩表现
  • Mysql使用周期性计划任务定时备份,发现备份的文件都是空的?为什么?如何解决?
  • 播放器开发(二):了解FFmpeg与SDL常用对象和函数
  • Redis面试题:redis做为缓存,数据的持久化是怎么做的?两种持久化方式有什么区别呢?这两种方式,哪种恢复的比较快呢?
  • 国产Ai大模型和chtgpt3.5的比较
  • 机器学习---贝叶斯网络与朴素贝叶斯
  • 深度解析 Docker Registry:构建安全高效的私有镜像仓库
  • 又3本“On Hold”期刊被剔除!这本Elsevier旗下中科院2区TOP仍在调查中!
  • 代理模式-C语言实现
  • 回归预测 | MATLAB实现SMA+WOA+BOA-LSSVM基于黏菌算法+鲸鱼算法+蝴蝶算法优化LSSVM回归预测
  • 人工智能-注意力机制之注意力汇聚:Nadaraya-Watson 核回归
  • 数据结构与算法之二叉树: LeetCode 100. 相同的树 (Typescript版)
  • 学位论文撰写-经验
  • Vue路由器(详细教程)
  • ***Linux下Mysql的安装
  • uni-app - 去除隐藏页面右侧垂直滚动条
  • 实现简单的操作服务器和客户端(下)
  • 在 Banana Pi BPI-R2 PRO RK3568开源路由器上安装 OpenWrt 23 快照固件
  • Bean的创建过程源码
  • 2824. 统计和小于目标的下标对数目 : 详解 “左找右“ “右找左“ 两种方式