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

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 1WorldRow[Index] := Row[Index]+80WorldCol[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)
结果,红色大圆圈为像素坐标,红色小圆圈为机械坐标位置,绿色为目标实际机械坐标位置

相关文章:
Halcon 5分钟学会9点标定 带图片示例、示例源码
9点标定应用流程 前置条件,相机焦距,视野固定高度和角度,光源光强度固定。 移动机械手,使用螺丝批头,在视野范围内的白纸上,点九个点,记录每个点位的位置,每个点位的顺序要和图像上获…...
【非监督学习 | 聚类】聚类算法类别大全 距离度量单位大全
🤵♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...
案例026:基于微信的原创音乐小程序的设计与实现
文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…...
网络运维与网络安全 学习笔记2023.11.26
网络运维与网络安全 学习笔记 第二十七天 今日目标 NAT场景与原理、静态NAT、动态NAT PAT原理与配置、动态PAT之EasyIP、静态PAT之NAT Server NAT场景与原理 项目背景 为节省IP地址和费用,企业内网使用的都是“私有IP地址” Internet网络的组成设备,…...
STM32使用多路PWM注意事项
这是使用CubeMX自动产生的代码,使用TIM2产生了PA0,PA1,PA2,PA3这4路PWM,可以看到里面Pulse是共同使用了一个sConfigOC,如果是需要动态调整Pulse,就需要特别注意。 如果是用来产生呼吸灯,就会把这4个PWM都打乱,我觉得&a…...
汽车转向桥设计转向节转向桥机械设计
wx供重浩:创享日记 对话框发送:转向桥 获取完整报告说明书工程源文件 转向节图 装配图 本文设计的是JY1061A型采用前置后轮驱动的载货汽车转向桥,因此该转向桥为从动桥。从动桥的功用:从动桥也称非驱动桥,又称从动车轴…...
前端实现埋点
前端实现埋点 如何去了解用户呢?最直接有效的方式就是了解用户的行为,了解用户在网站中做了什么,呆了多久。而如何去实现这一操作,这就涉及到我们前端的埋点了。 埋点方式 什么是埋点? 所谓埋点是数据采集领域&…...
Apache多后缀解析漏洞分析
漏洞介绍 该漏洞与用户的配置有密切的关系,严格来说属于用户配置问题。Apache文件解析漏洞涉及到 Apache 解析文件的特性。在默认情况下,Apache 允许一个文件具有多个以点分割的后缀,在处理文件时会从右向左识别后缀名。(就是右边的后缀名无法识别,则继续识别左边的) 如果…...
基于Loki + Promtail + Grafana 搭建 Nginx 日志监控
文章目录 引言第一部分:Loki 简介与安装1.1 Loki 简介1.2 Loki 安装1.2.1 下载 Loki1.2.2 安装 Loki 1.3 启动 Loki 第二部分:Promtail 简介与安装2.1 Promtail 简介2.2 Promtail 安装2.2.1 下载 Promtail2.2.2 安装 Promtail 2.3 启动 Promtail 第三部分…...
车载通信架构 —— 传统车内通信网络CAN(可靠性为王)
车载通信架构 —— 传统车内通信网络CAN(可靠性为王) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非…...
visual Studio MFC 绘制单一颜色三角形、渐变颜色边框三角形、渐变填充三角形、边框渐变的正方形与填充渐变的正方形实例
MFC 绘制三角形 本文使用visual Studio MFC 平台实现绘制单一颜色三角形、渐变颜色边框三角形、渐变填充三角形、边框渐变的正方形与填充渐变的正方形. 关于基础工程的创建请参考Visual Studio 使用MFC 单文档工程绘制单一颜色直线和绘制渐变颜色的直线 文章目录 MFC 绘制三角形…...
嵌入式八股 | 笔试面试 | 校招秋招 | 题目精选
嵌入式八股精华版1.0所有216道题目如下: 欢迎关注微信公众号【赛博二哈】并加入嵌入式求职交流群。提供简历模板、学习路线、岗位整理等 欢迎加入知识星球【嵌入式求职星球】获取完整嵌入式八股。 提供简历修改、项目推荐、求职规划答疑。另有各城市、公…...
力扣:180. 连续出现的数字(Python3)
题目: 表:Logs ---------------------- | Column Name | Type | ---------------------- | id | int | | num | varchar | ---------------------- 在 SQL 中,id 是该表的主键。 id 是一个自增列。 找出所有至少连续…...
【Python篇】详细讲解正则表达式
文章目录 🌹什么是正则表达式🍔语法字符类别重复次数组合模式 ✨例子 🌹什么是正则表达式 正则表达式(Regular Expression),简称为正则或正则表达式,是一种用于匹配、查找和操作文本字符串的工…...
Linux系统分区和挂载超过2T的硬盘
报错信息:DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT). 转载:Ubuntu(Linux)系统安装扩展硬盘并完成格式化及挂载 - 知乎...
Vue19 列表过滤
直接上代码 以下代码使用了两种实现方式,监视属性和计算属性 当能用计算属性实现时,推荐使用计算属性 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>列表过滤</title><script type&q…...
【一起来学kubernetes】7、k8s中的ingress详解
引言配置示例负载均衡的实现负载均衡策略实现模式实现方案Nginx类型Ingress实现Treafik类型Ingress实现HAProxy类型ingress实现Istio类型ingress实现APISIX类型ingress实现 更多 引言 Ingress是Kubernetes集群中的一种资源类型,用于实现用域名的方式访问Kubernetes…...
[Java] 阿里一面~说一下ArrayList 与 LinkedList 区别
文章目录 是否保证线程安全底层数据结构插入和删除是否受元素位置的影响是否支持快速随机访问内存空间占用: 是否保证线程安全 ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全; 底层数据结构 ● ArrayList 底层使用的是 Obje…...
凸包问题的GRAHAM-SCAN解法 open3d c++ 代码
使用了Open3D库进行点云处理和可视化。下面是代码的大致解释: 引入必要的头文件和命名空间: 定义了三个函数: ComputeTriangleDirArea:计算带符号三角形的面积。Compute2Ddistance:计算两点之间的平面距离。GetConvexHullByGrahamScan:通过Graham Scan方法计算凸包点集。…...
从微软Cosmos DB浅谈一致性模型
最近回顾了微软的Cosmos DB的提供一致性级别,重新整理下一致性模型的相关内容。 0. Cosmos DB Cosmos DB(Azure Cosmos DB)是由微软推出的一个支持多模型、多 API 的全球分布式数据库服务。它旨在提供高度可扩展性、低延迟、强一致性和全球…...
django基于Python主流汽车价格分析可视化系统的设计与实现_nf85t54h_zl089
前言随着汽车行业的快速发展和智能化技术的不断涌现,车辆数据可视化和价格预测系统成为了汽车行业的重要研究领域。该系统旨在通过高效的数据处理和分析技术,为车辆市场提供深入的数据洞察,帮助用户更好地理解汽车市场的动态变化和消费者需求…...
PHP支付配置安全加固指南:从SSL证书到PCI DSS合规,7步实现生产环境零漏洞上线
第一章:PHP支付配置安全加固的核心原则与风险全景在现代Web应用中,PHP支付模块常因配置疏忽成为攻击者突破口。密钥硬编码、环境变量泄露、未校验回调签名、调试模式残留等隐患,极易导致资金盗刷、订单篡改或敏感信息外泄。安全加固并非仅依赖…...
(29)UGameInstance 、UGameInstanceSubsystem 与 UGameState 的区别,一言
(52)接着:(53) 谢谢...
MapAnything损失函数深度剖析:如何设计多任务学习框架
MapAnything损失函数深度剖析:如何设计多任务学习框架 【免费下载链接】map-anything MapAnything: Universal Feed-Forward Metric 3D Reconstruction 项目地址: https://gitcode.com/gh_mirrors/map/map-anything MapAnything作为一款先进的通用前馈度量3D…...
BetterGenshinImpact多开功能终极指南:同时管理多个原神账号的完整方案
BetterGenshinImpact多开功能终极指南:同时管理多个原神账号的完整方案 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙…...
Perseus开源补丁:3步轻松解锁《碧蓝航线》全皮肤完整指南
Perseus开源补丁:3步轻松解锁《碧蓝航线》全皮肤完整指南 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus 还在为《碧蓝航线》中那些精美的皮肤无法解锁而烦恼吗?Perseus开源补丁为…...
告别60帧卡顿:原神帧率解锁工具全方位应用指南
告别60帧卡顿:原神帧率解锁工具全方位应用指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 当你的高性能显卡和144Hz显示器在《原神》中只能运行60帧时,硬件性…...
5分钟解锁浏览器编程革命:Core72在线IDE零配置开发指南
5分钟解锁浏览器编程革命:Core72在线IDE零配置开发指南 【免费下载链接】core Online IDE powered by Visual Studio Code ⚡️ 项目地址: https://gitcode.com/gh_mirrors/core72/core 还在为开发环境配置烦恼吗?每次换设备都要重新安装Node.js、…...
Papa Parse故障排除:从入门到精通的4个实战方案
Papa Parse故障排除:从入门到精通的4个实战方案 【免费下载链接】PapaParse Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input 项目地址: https://gitcode.com/gh_mirrors/pa/PapaParse 在数据处理领…...
三步解决Fiji在macOS系统的启动故障问题
三步解决Fiji在macOS系统的启动故障问题 【免费下载链接】fiji A "batteries-included" distribution of ImageJ :battery: 项目地址: https://gitcode.com/gh_mirrors/fi/fiji Fiji作为ImageJ的"开箱即用"发行版,整合了大量生物图像处理…...
