机器视觉工业应用通用流程标定
Posted 茗君(Major_S)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器视觉工业应用通用流程标定相关的知识,希望对你有一定的参考价值。
一 流程
在这里插入代码片
******************************************************************
************************* 工业视觉应用一般流程 *********************
******************************************************************
****************************** 1.读取图像 ******************************
****************************** 2.定位 *********************************
****************************** 3.获取ROI(感兴趣)区域 ******************
****************************** 4.图像预处理 *****************************
****************************** 5.图像算法处理 ***************************
****************************** 6.结果输出 *******************************
******************************************************************
************************* 工业视觉应用一般流程 *********************
******************************************************************
****************************** 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)通讯:静态拍图,机器用网口或串口发一个指令(比如A0)给视觉系统,视觉系统收到后拍照及处理,输出结果给机器
2)外触发:(静态拍图、动态拍图)1.视觉系统开采图线程循环等待。2.传感器或者IO口给一个脉冲或者电平变化触发相机的IO口,采图线程中相机接受到触发信号,拍照及处理,输出结果给机器。
(1)通讯:静态拍图,机器用网口或串口发一个指令(比如A0)给视觉系统,视觉系统收到后拍照及处理,输出结果给机器
(2)外触发:(静态拍图、动态拍图)1.视觉系统开采图线程循环等待。2.传感器或者IO口给一个脉冲或者电平变化触发相机的IO口,采图线程中相机接受到触发信号,拍照及处理,输出结果给机器。
以上是关于机器视觉工业应用通用流程标定的主要内容,如果未能解决你的问题,请参考以下文章