机器视觉工业应用通用流程标定

Posted 茗君(Major_S)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器视觉工业应用通用流程标定相关的知识,希望对你有一定的参考价值。


一 流程

在这里插入代码片
******************************************************************
************************* 工业视觉应用一般流程 *********************
******************************************************************

****************************** 1.读取图像 ******************************

****************************** 2.定位 *********************************

****************************** 3.获取ROI(感兴趣)区域 ******************

****************************** 4.图像预处理 *****************************


****************************** 5.图像算法处理 ***************************

****************************** 6.结果输出 *******************************

机器视觉工业应用通用流程、标定_机器视觉_02

******************************************************************
************************* 工业视觉应用一般流程 *********************
******************************************************************
****************************** 0.窗口显示设置 ******************************
dev_get_window (WindowHandle)
dev_set_draw(margin)
* 设置显示字体大小
set_display_font (WindowHandle, 20, mono, true, false)
* dev_update_window (off)

****************************** 1.读取图像 ******************************
read_image (Image2, C:/Users/11716/Desktop/漏失-0829/20220829154525449_02/System/2.jpg)

****************************** 2.定位(Blob分析) *********************************
*** 定位内圆
* <2.1> 阈值分割
threshold (Image2, Region, 240, 255)
* <2.2> 连通
connection (Region, ConnectedRegions)
* <2.3> 填充
fill_up (ConnectedRegions, RegionFillUp)
* <2.4> 通过特征筛选特征区域
select_shape_std (RegionFillUp, SelectedRegions, max_area, 70)

smallest_circle (SelectedRegions, Row, Column, Radius)
gen_circle (CircleIn, Row, Column, Radius)

*** 定位外圆
* <2.1> 阈值分割
threshold (Image2, Region, 40, 190)
* <2.2> 连通
connection (Region, ConnectedRegions)
* <2.3> 填充
fill_up (ConnectedRegions, RegionFillUp)
* <2.4> 通过特征筛选特征区域
select_shape_std (RegionFillUp, SelectedRegions, max_area, 70)
smallest_circle (SelectedRegions, Row, Column, Radius)
gen_circle (CircleOut, Row, Column, Radius)

****************************** 3.获取ROI(感兴趣)区域 ******************
* 内圆往里面一点(膨胀一点)
dilation_circle (CircleIn, RegionDilation1, 23.5)

* 外圆往里面一点(腐蚀)
erosion_circle (CircleOut, RegionErosion2, 23.5)

* 区域相减
difference (RegionErosion2, RegionDilation1, RegionDifference)

* 获取区域图像
reduce_domain (Image2, RegionDifference, ImageReduced)


****************************** 4.图像预处理 *****************************

****************************** 5.图像算法处理 ***************************
* <5.1 图像分割>
* 均值滤波:(模糊化,均衡化,平滑)
mean_image (ImageReduced, ImageMean, 40, 40)
dyn_threshold (ImageReduced, ImageMean, RegionDynThresh, 12, light)

* 膨胀腐蚀
*** 降噪:去除噪声
erosion_circle (RegionDynThresh, RegionErosion,2.5)
dilation_circle (RegionErosion, RegionDilation, 3.5)
* 连通
connection (RegionDilation, ConnectedRegions1)
* 根据面积选取特征区域
select_shape (ConnectedRegions1, SelectedRegions1, area, and, 200, 99999)

****************************** 6.结果输出 *******************************
count_obj (SelectedRegions1, Number)
if(Number>0)

dev_set_color (red)
Text := NG
* 显示缺陷区域
dev_display (SelectedRegions1)
* 显示文本
disp_message (WindowHandle, Text, window, 12, 12, , false)

二 常用标定

  1. 像素变换(圆、矩形、像素单量)
  2. 透视投影及光学畸变校正
  3. 不同坐标系之间的标定(不共线的三点确定一个坐标系)。如九点标定(机械手)
  4. 多个相机通过标定统一到同一个坐标系(标定板、机械手)

三 视觉系统与机器如关联

机器视觉工业应用通用流程、标定_预处理_03

1)通讯:静态拍图,机器用网口或串口发一个指令(比如A0)给视觉系统,视觉系统收到后拍照及处理,输出结果给机器

2)外触发:(静态拍图、动态拍图)1.视觉系统开采图线程循环等待。2.传感器或者IO口给一个脉冲或者电平变化触发相机的IO口,采图线程中相机接受到触发信号,拍照及处理,输出结果给机器。


(1)通讯:静态拍图,机器用网口或串口发一个指令(比如A0)给视觉系统,视觉系统收到后拍照及处理,输出结果给机器

机器视觉工业应用通用流程、标定_halcon_04

(2)外触发:(静态拍图、动态拍图)1.视觉系统开采图线程循环等待。2.传感器或者IO口给一个脉冲或者电平变化触发相机的IO口,采图线程中相机接受到触发信号,拍照及处理,输出结果给机器。

机器视觉工业应用通用流程、标定_halcon_05


以上是关于机器视觉工业应用通用流程标定的主要内容,如果未能解决你的问题,请参考以下文章

ROS机械臂开发:机器视觉应用

工业相机对视觉进行了标定后,在调整焦距后对标定精度有影响吗?

机器人Halcon手眼标定

机器视觉的应用领域

工业视觉引导基础及项目评估流程

标定的分类