Halcon2D测量-边缘直线测量+圆环测量
- 二维测量有一种形态学的方法,参照我之前的博客。
形态学方法测量 - 本文主要介绍一种建立测量模型的方法,对直线和圆进行测量.
一.圆心度测量
1.设定测量模型
- 首先将我们将待测量圆的半径圆心,以及容错度声明出来。
- 创建测量句柄
*1.创建测量句柄create_metrology_model (MetrologyHandle)set_metrology_model_image_size (MetrologyHandle, Width, Height)
- 初始化测量模型,这里用到我们第一步声明的圆的信息
1.CircleRadiusTolerance:也就是容错度,我们绘制测量矩形的高。
2.CircleRadiusTolerance2:测量矩形的宽。
2.sigma:高斯滤波掩膜大小
3.MeasureThreshold:检测边缘的阈值
add_metrology_object_circle_measure (MetrologyHandle, CircleInitRow, CircleInitColumn, CircleInitRadius, CircleRadiusTolerance, CircleRadiusTolerance2, sigma, MeasureThreshold, [], [], MetrologyCircleIndices)
- 为测量模型设置参数
*‘uniform’参数是放置区域出现正负边缘,只测量正边缘或负边缘
set_metrology_object_param (MetrologyHandle, MetrologyCircleIndices, 'measure_transition', 'uniform')
*最小分数值,与匹配道理一样,背景环境越复杂,分数设定应该越高
set_metrology_object_param (MetrologyHandle, MetrologyCircleIndices, 'min_score', .1)
- 得到测量模型,绑定一个点,从此测量模型随该点移动
get_metrology_object_measures (Contour, MetrologyHandle, 'all', 'all', MRow, MColumn)set_metrology_model_param (MetrologyHandle, 'reference_system', [Row,Column,0])dev_set_color('green')get_metrology_object_measures (Contour, MetrologyHandle, 'all', 'all', MRow, MColumn)
二.使用测量模型进行测量
- 应该有注意到,测量模型被仿射到row=0,column=0的位置。
- 将模型添加到当前图像的位置
align_metrology_model (MetrologyHandle, Row, Column, 0)
apply_metrology_model (OrginImage, MetrologyHandle)
- 两种方法得到边缘
1.获得测量模型内检测到区域所有的点
- 如果区域有噪声,这种方法并不理想
2.获得边缘点
get_metrology_object_result (MetrologyHandle, 'all', 'all', 'used_edges', 'row', UsedRow)get_metrology_object_result (MetrologyHandle, 'all', 'all', 'used_edges', 'column', UsedColumn)
- 并将这些边缘点拟合成线
gen_cross_contour_xld (UsedEdges, UsedRow, UsedColumn, 2, rad(45)) gen_contour_polygon_xld(Contour,UsedRow, UsedColumn) * 拟合圆fit_circle_contour_xld(Contour, 'algebraic', -1, 0, 0, 3, 2, FinalRow, FinalColumn, FinalRadius, StartPhi, EndPhi, PointOrder)
- 本图圆环有一定阴影,采用图像增强去噪
scale_image (Image, ImageScaled, 3.5, -100)
二.测量模型边缘检测
- 思路与圆检测一样
- 在初始化模型的位置,有所改变
- LineRow1, LineColumn1, LineRow2, LineColumn2,边缘线的起始点和终点
add_metrology_object_line_measure (MetrologyHandle, LineRow1, LineColumn1, LineRow2, LineColumn2, Tolerance, 5, 1, 20, [], [], Index1)
- 通过上述方法二,得到边缘点
get_metrology_object_result (MetrologyHandle, 'all', 'all', 'used_edges', 'row', UsedRow)get_metrology_object_result (MetrologyHandle, 'all', 'all', 'used_edges', 'column', UsedColumn)
Halcon2D测量-边缘直线测量+圆环测量相关推荐
- Halcon 测量直线和圆环的线宽
测量直线和圆环的线度 1. 场景说明 2. 简单分析 3. 算法效果 4. halcon代码和图片下载 1. 场景说明 如下图,有5个焊印,现在我想测量焊印的宽度,检查有没有断焊,漏焊,焊印宽度很窄的 ...
- python opencv卡尺测量边缘距离
opencv 卡尺法 测量边缘距离 参考来源 :https://github.com/crackwitz/metrology-demo 前言 一.测量方法 二.测量步骤 1.获取直线的像素 2.高斯滤 ...
- opencv 卡尺法 测量边缘距离
opencv 卡尺法 测量边缘距离 参考来源 :https://github.com/crackwitz/metrology-demo 文章目录 opencv 卡尺法 测量边缘距离 前言 一.测量方法 ...
- 水准网测量平差matlab_【干货】史诗级测量大神分享道路测量全过程经验
工程施工测量事关重大,而且并不如许多人所想的,手里操作着个测量仪器就是工程测量的全部,测量人员的水平高低,其实更体现在预见能力和谋划能力上. 道路施工单位进场后,作为一个经验丰富的测量工程师,心中要有 ...
- lisp 边坡_史诗级测量大神分享---道路测量全过程经验
原标题:史诗级测量大神分享---道路测量全过程经验 工程施工测量事关重大,而且并不如许多人所想的,手里操作着个测量仪器就是工程测量的全部,测量人员的水平高低,其实更体现在预见能力和谋划能力上. 道路施 ...
- C#联合halcon源码 CAD测量比对 CAD图纸 测量 海康相机
C#联合halcon源码 CAD测量比对 CAD图纸 测量 海康相机 通常测量规则的物体,通过找边,找圆,求线线交点,点到线的距离,很容易测量尺寸. 这个源码的测量物体是不规则的,很多凸凹的地方都需要 ...
- 强大测量功能,丰富参数测量
通常来讲,工程师日常使用波形测量仪器正确捕获波形后,需要对波形的参数进行测量和统计.强大测量功能,丰富参数测量功能,越来越是对波形测量仪器的基本要求,本文主要围绕广州致远电子ZDL6000示波记录仪测 ...
- 血氧心率测量仪(带温湿度测量功能)OLED显示
血氧心率测量仪(带温湿度测量功能)OLED显示 原理图资料 模块说明 测试数据处理图 部分代码展示 资料包 原理图资料 模块说明 数字温湿度传感 DHT11 ►相对湿度和温度测量 ►全部校准,数字输出 ...
- 迈卓诺(Metronor)光笔测量仪--大型模具的测量利器
迈卓诺(Metronor)光笔测量仪简单.轻便,却可实现长达30m的精确测量,出色的隐藏点测量和多点同步测量能力,更使得它成为适用于车间现场的真正的大尺寸坐标测量机,为重型.大型零件的检测提供了恰 ...
最新文章
- node 压缩模块速成
- Redis之七种武器
- css实现图片自适应容器的几种方式
- sublime text 常用快捷键
- SpringSecurity remember功能持久化token信息
- Java常用类(2)--日期时间相关类Date、Calendar、LocalDateTime、Instant全面
- 一张图带你了解Android5.0中的colorPrimary、colorPrimaryDark、colorAccent
- 软工实践-第三次会议
- c语言从入门到精通_C语言基本概念(上)【C语言入门到精通】
- python爬取淘宝网页信息
- Vijos P1199核弹危机
- ubuntu 安装qq
- 软件开发的流程和常用模式
- 如何在 Mac 上右键单击?
- 导师不喜欢自己怎么办?
- 爬虫和网易云音乐API的一次尝试
- HTML小游戏8 —— 小霸王游戏机网页版(附完整源码)
- 运行代码后出现Process finished with exit code 0是为什么?
- CEF 、chromium源码下载前相关代理配置
- Commonsense and Named Entity Aware Knowledge Grounded Dialogue Generation