我们来看一下焊点检测的基础算法,这种方法基于halcon的形态学算法。

其基本流程为: 阈值分割->填充region->选择region

下面是实验图片

下面为halcon程序:

read_image (Image23, 'C:/Users/Administrator/Desktop/焊点图片/23.bmp')gen_rectangle1 (ROI_0, 300.126, 255.901, 446.431, 384.101)
reduce_domain(Image23, ROI_0, ImageReduced)
threshold (ImageReduced, Regions, 0, 185)
connection(Regions, ConnectedRegions)
closing_circle(ConnectedRegions, RegionClosing, 5.5)
fill_up(RegionClosing, RegionFillUp)
select_shape(RegionFillUp, SelectedRegions, 'area', 'and', 150, 99999)
count_obj(SelectedRegions, Number)

解释一下,reduce_domain把ROI区域裁剪出来,也就是做局部的图像处理。

然后就是利用图像灰度值分割图像的“阈值分割”。

阈值分割后的图像一般是开口的,如下图。

做“圆形区域填充”和“填充封闭区域”后得到封闭圆形区域。

这就是最后处理的效果,取得四个焊点区域。

后续的过程是计算焊点面积、数量,以及统计信息输出等。

上面的例子很简单,然而焊点检测真正的难点是如何从背景干扰中捡出焊点,例如下面这样的:

如果你用上面的程序跑试下,会是下面的结果

参考来源:www.skcircle.com

HALCON之焊点检测(二):基于形态学的基础焊点检测方法相关推荐

  1. 【图像检测】基于形态学实现水果缺陷检测matlab源码

    数学形态学操作可以分为二值形态学和灰度形态学,灰度形态学由二值形态学扩展而来.数学形态学有2个基本的运算,即腐蚀和膨胀,而腐蚀和膨胀通过结合又形成了开运算和闭运算. 开运算就是先腐蚀再膨胀,闭运算就是 ...

  2. 【图像检测-缺陷检测】基于形态学实现瓶盖瑕疵检测matlab代码

    1 简介 ​随着食品安全问题的频繁发生,消费者对食品包装的质量要求也越来越高,因此塑料防盗瓶盖在出厂时,通常需要通过严格的质量检测,如印刷图案是否清晰正确.有无污渍.圆度是否变形.缺料.溢料.有无防盗 ...

  3. 【图像检测】基于形态学实现苹果质量检测及分级系统matlab代码

    1 简介 提出一种基于数学形态学的图像分割算法,可以实现静态水果的大小 检测,并运用了基于机器视觉的水果品质分级系统,能够实现水果的动态检测.在水果的动态检测中,先利用图像分割算法对水果图像依次进行灰 ...

  4. [系统安全] 三十三.恶意代码检测(3)基于机器学习的恶意代码检测技术

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  5. 【雷达检测】基于matlab模拟海洋监视雷达检测仿真【含Matlab源码 2268期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达检测]基于matlab模拟海洋监视雷达检测仿真[含Matlab源码 2268期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  6. OpenCV + python 实现人脸检测(基于照片和视频进行检测)

    OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...

  7. 离群点、异常点检测及Python实现(正态分布3∂,Z-score 异常值检测,基于MAD的Z-score 异常值检测,杠杆值点、DFFITS值、SR学生化残差、cook距离和covratio值)

    有一些准则可以检测离群点,如:正态分布3∂,Z-score 异常值检测,基于MAD的Z-score 异常值检测 以上部分详情与代码请参考:https://blog.csdn.net/weixin_35 ...

  8. 【缺陷检测】基于形态学实现印刷电路板缺陷检测技术附matlab代码

    1 简介 当今,电子工业在国家经济发展中扮演着越来越重要的角色,作为各种电子元器件的高度信息集合,印刷电路板(PCB)被广泛应用在电子工业中的各个领域.经济的不断发展促使电子技术不断地提高,轻薄.便捷 ...

  9. 【图像检测】基于形态学算法实现空瓶检测matlab代码

    1 简介 近年来,机器视觉为主导的机器人研究工作正逐步推进,这不仅是对以往智能检测技术的有效突破,而且还能实现资源合理配置这一目标,这种类型的机器人 具 有 广 阔的 应 用 前 景.由 此 可见,本 ...

最新文章

  1. 9开启线程日志_GC 日志分析
  2. Android studio 报错解决:Error:SSL peer shut down incorrectly
  3. react 项目实战(三)表单验证
  4. 【Hadoop Summit Tokyo 2016】Spark上可扩展的深度学习
  5. 静态分析:IDA逆向代码段说明 text、idata、rdata、data
  6. 优秀的开发者从命名开始
  7. 前端学习(2977):vue-element-admin
  8. Linux内核workqueue
  9. jQuery.ajax处理继续响应:“成功:”还是“ .done”?
  10. vscode jupyter补全_Cern ROOT 在jupyter里的使用
  11. c语言自动安装软件,VC++(c语言程序下载安装)
  12. Marlin固件解析G代码部分分析
  13. JS数值类型与字符串类型的内置方法
  14. 团队如何提高执行力,总结以下几点:
  15. python封装exe后其他人能用么_python用tesseract写的图片识别,封装exe后,本机可以用,软件放别的电脑上无法图......
  16. 微信小程序PHP注册,微信小程序 教程之注册页面
  17. Python爬取天气数据及可视化分析(附源码)
  18. 使用了 23 的 Java 真的收费了吗?
  19. Python资源(转)
  20. 有苦有乐的算法 --- 使用队列结构实现栈结构

热门文章

  1. [资料]airplay协议
  2. 嵌入式Linux/Android根文件系统制作的几种方法(未完)
  3. Java实现多线程局域网聊天室
  4. onvif客户端(转载)
  5. 用Python实现自制桌面宠物,变出一个桌面小挂件
  6. 综合场馆的优势有哪些?
  7. java web课程设计(简单商城的前后端双系统,基于maven三模块开发)
  8. NOD32企业版2.5的安装和配置服务端教学视频
  9. 驾校APP软件APP基本功能
  10. <吃掉那只青蛙>读后感