[西门子] 机器视觉Halcon-焊点提取排序设计思路一

[复制链接]
查看94937 | 回复0 | 2024-2-3 10:48:34 | 显示全部楼层 |阅读模式


一.内容提要

本文是Blob示例之一,利用二值化原理阈值分割的方法,进行焊点检出的思路。

二.问题分析及设计思路

电路板的案例如图,对黑色焊点进行提取排序



①.对图形窗口字体设置
dev_get_window (WindowHandle)*返回活动图形窗口的句柄。dev_set_color ('red')*设置图形窗口显示字体为红色set_display_font (WindowHandle, 18, 'Courier', 'true', 'false')*设置图形窗口字体
②.通过亮背景提取暗特征,提取焊点

read_image (Die03, 'J:/Halcon/die_03.png')*读取图像threshold (Die03, Regions, 0, 41)*二值化,利用灰度直方图灵活估算出灰度值范围0-41。


③.图像处理开运算opening_circle,连通域connection ,以区域特征进行筛选select_shape,以区域相对位置进行排序sort_region。
opening_circle (Regions, RegionOpening, 10)*开运算,探讨开运算的优缺点。connection (RegionOpening, ConnectedRegions)*来计算输入区域中的所有连通域。select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 900, 1200)*select,作用以区域特征进行筛选得出所有特征的区域。sort_region (SelectedRegions, SortedRegions, 'character', 'true', 'row')*作用是以区域相对位置进行排序。


④.显示排序数字

dev_display (Die03)*显示图像count_obj (SortedRegions, Number)*计算区域个数for Index := 1 to Number by 1*for循环select_obj (SortedRegions, CurrentRect, Index)*计算objects的个数dev_display (CurrentRect)*显示对象area_center (CurrentRect, Area, Row, Column)*计算区域的面积和中心坐标disp_message (WindowHandle, ' ' + Index, 'image', Row+30, Column-20, 'black', 'true') *在图形窗口中显示排序的数字endfor


粉丝最爱前十文章(以下文章点击即可进去)
1.关于机器视觉应用开发四大软件薪资分析(华东)

2.机器视觉工程师,必须知道测量项目中的GRR和CPK

3.C#与康耐视Visionpro-CogRecordDisplay控件显示及图片保存

4.机器视觉-外观缺陷检测骗局已成笑话

5.C#与康耐视Visionpro-CogRecordDisplay控件显示及图片保存

6.康耐视Visionpro-容器类工具ToolBlock-C# Advanced Script规范脚本-一般项目两种脚本执行思路

7.康耐视3D相机-DSMAX-VisionPro软件安装向导

8.机器视觉-什么是固件升级

9.机器视觉海康工业相机SDK参数设置获取

10.工业相机丢包排查步骤

11.机器视觉康耐视智能相机Insight-手眼标定详细步骤

12.机器视觉康耐视Visionpro工具-CogBlobTool

13.海康线扫相机平场校正/阴影校正教程

14.海康机器视觉工业相机客户端MVS-介绍与使用,相机状态

15.机器视觉Halcon快速调试方法-异常判断,异常显示,异常监控,异常获取方法

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则