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

Fixture Caliper 工具

需求:

测量工件的尺寸

使用Caliper(卡尺)工具,将会借助到Fixture

Visionpro 中的图像空间

"." 图像的当前空间 即CogImage 中的“SelectedSpaceName”表示的名字空间

“#” 像素空间 ,即坐标原点为图片左上角的坐标空间,该坐标空间的坐标值仅为整数。

“@” 根空间,默认的坐标空间都是基于根空间。该空间坐标原点为图片左上角,该坐标空间的坐标值类型为浮点型。

“*” 控件的像素空间,主要是显示控件上面使用


CogFixtureTool

是一种建立定位坐标系的工具,也是最长用的,在使用此工具建立定位坐标系之前,需要提前获得一个2D转换关系,2D转换关系的通过其他工具获取,其主要任务:

  1. 一个往坐标空间树种添加一个定位坐标系,需设置定位坐标系的名称;
  2. 建立一个定位后的输出图像提供其他工具调用,输出图像的像素输入图像完全相同,但坐标空间可以选择为定位空间或者非定位空间

相当于给图像重新定义了一个坐标系,后续需要执行的找边找圆操作会跟随目标点位的旋转平移变化而变化

建立工具连接

将PMA 的运行结果传输到Fixtrue里面

蓝色为每个工具的输出参数,紫色为工具的输入参数

选择CogPMAlignTool 工具的查找结果 GetPose()参数

(该参数包含了目标点位的 X、Y和角度信息等)

定位坐标空间

坐标系会随着工件的旋转而旋转,这个坐标系就称之为 Fixture 坐标系

参数介绍


Caliper(卡尺)工具

游标卡尺工具介绍

  • 辨别对象中的边缘或者边缘对
  • 报告边线对子中的找边位置和边线之间的距离

测量该工件的宽度

步骤

定义目标区域

  • 游标卡尺区域指图像中探测到边线的区域
  • 在图形上由 输入图像中的蓝色方框表示

区域设置

  • 区域标准:
    • 包含目标边线
    • 边线必须与投影方向平行
      • 可能必须旋转
    • 可能时,不包括目标边线以外的特征
      • 可能必须倾斜


原理

投影

  • 投影 将二维图像减少到一维图像
    • 减少处理时间和存储
    • 维持并且在一些情况下增强边线信息
  • 沿着规定方向中的平行光线添加像素灰度值

边线筛选

边线筛选的目的就是从输入图像中消除噪音

找边原理

游标卡尺工具通过使用一个筛选算子盘旋一维投影图像来执行筛选

  • Projection Image 一维投影图像
  • Filter operator 灰度值的滤波算子
  • Filtered output 过滤后的输出参数
  • 第一个位置  -1*0 + 0*0 + 1*0 = 0
  • 第二个位置  -1*0 + 0*0 + 1*5 = 5
  • 第三个位置  -1*0 + 0*5 + 1*10 = 10
  • 第四个位置  -1*5 + 0*10 + 1*15 = 10

极性

对比度阈值

过滤一半像素

最大结果数

边缘对

结合命名空间去使用

结果

结果按照得分从高到低的顺序显示在结果表格中

位置

沿相对于输入区域中心的搜索方向的一维测量

计分

默认状态下,单个边线值根据他们跨边线的对比度进行计分,而边线对子根据所测边线之间的距离与预期距离匹配程度来计分。

分数:按照计分的分数曲线来得到计分结果

X0=255 时 得到的分数是 1 分

分数计算应为 对比度/X0  73.4551/255=0.28

修改 X0 参数 为 75 得分接近与 1

位置

沿相对于输入区域中心的搜索方向的一维测量

筛选尺寸

筛选尺寸接近边线尺寸生产较强的边线峰值

筛选尺寸太大或者太小会减少峰值

http://www.dtcms.com/a/335298.html

相关文章:

  • GRPO(Group Relative Policy Optimization)公式速览
  • Scala面试题及详细答案100道(11-20)-- 函数式编程基础
  • 嵌入式软件架构设计之九: 双机通信之通信方式
  • 排列与组合
  • 超详细yolov8/11-obb旋转框全流程概述:配置环境、数据标注、训练、验证/预测、onnx部署(c++/python)详解
  • STM32标准库学习笔记
  • MM-Spatial和Spatial-MLLM论文解读
  • 【力扣-多数元素 JAVA/Python】
  • CD4+ T细胞激活区分抗PD-L1联合抗CTLA4疗法与单药抗PD-L1治疗的响应差异-空间最近邻分析
  • 民法学学习笔记(个人向) Part.5
  • 【最后203篇系列】032 OpenAI格式调用多模型实验
  • 39.离散化与哈希
  • 数据结构:二叉树的遍历 (Binary Tree Traversals)
  • 杂记 03
  • v-scale-scree: 根据屏幕尺寸缩放内容
  • 基于Python的电影评论数据分析系统 Python+Django+Vue.js
  • 防御保护12-14
  • tmux常用命令
  • Flamingo
  • KingbaseES主备读写分离集群安装教程
  • 字节数据流
  • 北汽新能源半年报:双品牌战略拉动销量增长,多元布局促进转化
  • PIDGen!DecodeProdKey函数分析之四个断点
  • 【大模型应用开发 3.RAG技术应用与Faiss向量数据库】
  • 【leetcode】12. 整数转罗马数字
  • 关于“双指针法“的总结
  • 【Python】Python爬虫学习路线
  • “openfeign“调用接口上传文件报错:Failed to deleted temporary file used for part [file]
  • c++11扩展(c++11并发库)
  • 在职老D渗透日记day18:sqli-labs靶场通关(第26关)get报错注入 过滤or和and基础上又过滤了空格和注释符 ‘闭合 手动注入