图片资源

链接:https://pan.baidu.com/s/161CAd1DOvc043y9-xW1fSw
提取码:hs5q

处理流程

1、应当焊接区计算 (4图 二值化暗区 )
2、计算已经焊接区域 (4图 二值化亮区)
3、计算漏焊区域 (应当焊接区 - 已经焊接区)
4、显示漏焊区域

完整代码

* 基板漏焊检测**** 1、读取图片组 组合成一张图片(4个通道) ***************************
get_system ('clip_region', Information)
set_system ('clip_region', 'true')
dev_update_window ('off')
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowID)* 读取四张相同尺寸的图片 不同光照角度的4张图片
read_image (Images, ['./img/ic0','./img/ic1','./img/ic2','./img/ic3'])
* 图片数组 写入到 IC通道中
channels_to_image (Images, Ic)**** 2、选择图片 分别显示 ***************************
* 左边光源图
select_obj (Images, Input1, 1)
dev_display (Input1)
set_display_font (WindowID, 14, 'mono', 'false', 'false')
disp_continue_message (WindowID, 'black', 'true')
stop ()
* 上边光源图
select_obj (Images, Input2, 2)
dev_display (Input2)
disp_continue_message (WindowID, 'black', 'true')
stop ()
* 右边光源图
select_obj (Images, Input3, 3)
dev_display (Input3)
disp_continue_message (WindowID, 'black', 'true')
stop ()
* 下边光源图
select_obj (Images, Input4, 4)
dev_display (Input4)
disp_continue_message (WindowID, 'black', 'true')
stop ()**** 3、获取暗区(应当焊接区域)***************************
* 四光源图 均值处理
mean_n (Ic, ImageMean)
dev_display (ImageMean)
* 二值处理 获取黑色焊接区域
threshold (Images, Darks, 0, 40)
* 四通道 合并一张图
union1 (Darks, Dark)
* 填充内部孔洞
fill_up (Dark, DarkFilled)
* 显示焊接区域
dev_set_color ('green')
dev_display (DarkFilled)
disp_continue_message (WindowID, 'black', 'true')
stop ()**** 4、已焊接区域 ***************************
* 二值化获取亮区域
threshold (Images, Lights, 100, 255)
* 四通道 合并亮图
union1 (Lights, Light)
* 交集(暗区(应该焊接区域)- 亮区(包含边缘凸起照亮区) = 已经被焊接区域)
intersection (DarkFilled, Light, Intersection)
* 显示实际焊接区域
dev_display (ImageMean)
dev_display (Intersection)
disp_continue_message (WindowID, 'black', 'true')
stop ()**** 5、已经焊接区域 内部扩展并填充 ***************************
* 非焊接区域
complement (DarkFilled, Back)
dev_set_color ('red')
dev_display (Back)
disp_continue_message (WindowID, 'black', 'true')
stop ()
* 区域扩展 Back非焊接区域不做扩展,其它区域(焊接区域)做10的扩充处理
expand_region (Intersection, Back, RegionExpanded, 10, 'image')
* 已经焊接区域 填充内部孔洞
fill_up (RegionExpanded, Good)
* 显示
dev_display (ImageMean)
dev_set_color ('green')
dev_display (Good)
disp_continue_message (WindowID, 'black', 'true')
stop ()**** 6、计算漏焊区域并做补全 ***************************
* 应该焊接区域与已经焊接区域 差值
difference (DarkFilled, Good, Rest)
dev_set_color ('red')
dev_display (Rest)
disp_continue_message (WindowID, 'black', 'true')
stop ()
* 灰度扩张 漏焊区域内部做扩展
* Rest区域分离 IC 输入图片 Good不做分离的区域 bad:输出漏焊区域 6:迭代次数 5:扩展差异值
expand_gray (Rest, Ic, Good, Bad, 6, 'image', 5)
dev_display (Bad)
disp_continue_message (WindowID, 'black', 'true')
stop ()* 连通域分析
connection (Bad, ConnectedBad)
* 面积过滤(过滤错误区域)
select_shape (ConnectedBad, BigBad, 'area', 'and', 150, 99999)
* 面积中心点
area_center (BigBad, AreaBad, Row, Column)**** 7、显示漏焊区域与个数 ***************************
count_obj (BigBad, NumMissingSolder)
AreaMissingSolder := sum(AreaBad)
dev_display (Images)
dev_set_color ('green')
dev_set_draw ('margin')
dev_set_line_width (3)
dev_display (Good)
dev_set_color ('blue')
dev_display (BigBad)
dev_set_draw ('fill')
dev_set_line_width (1)
dev_update_window ('on')
set_system ('clip_region', Information)

halcon 缺陷检测 基板漏焊检查相关推荐

  1. Halcon缺陷检测系列

    Halcon缺陷检测系列Halcon缺陷检测系列Halcon缺陷检测系列 一 注塑吸嘴缺口检测 二 铣刀刀口破损缺陷检测 三 网状产品表面破损检测 四 手机摄像头图像表面的轻微缺陷检测 五 皮革纹理表 ...

  2. Halcon 缺陷检测 金属拉丝表面缺陷检测(乘法增强、傅里叶变换与卷积、纹理过滤、动态阈值)

    Halcon 缺陷检测 拉丝表面缺陷检测(乘法增强.傅里叶变换与卷积.纹理过滤.动态阈值) 文件下载 链接:https://pan.baidu.com/s/1HNl4vy0jEaFx5OUuBDAMX ...

  3. halcon——缺陷检测常用方法总结(模板匹配(定位)+差分)

    引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分 光度立体:halcon--缺陷检测常用方法总结(光度立体) - 唯有自己强大 - 博客园 (cnblogs.com) ...

  4. Halcon缺陷检测——测量拟合

    缺陷检测--测量拟合 1. 简单聊一聊测量的那些事 2. 做几个测量判断缺陷的项目 案例1. 测量液体线高度 案例2. 检测矩形通孔的缺陷 下载地址: 1. 简单聊一聊测量的那些事 测量为什么也能做缺 ...

  5. Halcon缺陷检测——差分

    缺陷检测--差分+定位 1. 简单的差分 案例1:检测毛刺 案例2:电路板线路缺陷检测 案例3:瓶口破损缺陷检测 2. 模板匹配定位+差分 案例1:印刷质量缺陷检测(standard) 案例2:检测工 ...

  6. Halcon缺陷检测——机器学习1

    缺陷检测--机器学习 写在前面 1. create_ocr_class_mlp 1.1 ocr识别就只能识别ocr吗? 1.2 简单的图形分类 2. create_class_mlp 2.1 将区域作 ...

  7. halcon缺陷检测——频域

    缺陷检测--频域和空间域 1. 理解傅里叶变换 2. 读懂频谱图 3. 使用频域处理图像的案例 3.1 脏污检测 3.2 检测表面微小凸起 3.3 检测磨砂表面的缺陷 4. 资源下载 1. 理解傅里叶 ...

  8. halcon缺陷检测学习3暗斑检测detect_mura_defects_texture

    这个例子展示了如何检测高纹理图像中的色差不均匀缺陷 实现高纹理图像中缺陷的检测(黑色). 缺陷的特征是暗斑.因此,通过从原始图像中减去估计的背景光照,缺陷变得更加明显 dev_close_window ...

  9. halcon缺陷检测学习7皮革·凹痕、磨损、刮伤缺陷inspect_leather_photometric_stereo

    本程序演示了使用光度立体技术对皮革样品的检查. *输入4张皮革样本的图片,光线来自不同的方向. 初始化 dev_update_off () dev_close_window () dev_open_w ...

最新文章

  1. LeeCode-Majority Element
  2. LeetCode 445. 两数相加 II(链表大数加法)
  3. 获取网关_阿里二面问了这道题:如何设计一个微服务网关系统
  4. Java Web学习笔记11:JSTL与EL
  5. linux识别科学计数法,Linux下科学计数法(e)转化为数字的方法 [shell中几种数字计算说明]...
  6. mysql数据库合并游戏合服_浅谈滚服游戏如果实现一键合服
  7. c语言的一些字符串库函数的自己实现
  8. CENTOS 6.6初始化SHELL脚本
  9. python super详解_python中super()详解
  10. python3实现的rtsp客户端脚本
  11. 【精品分享】OpenStack Cinder mutliattach技术探秘
  12. mysql获取多张表中的数据_mysql – 从具有递归关系的两个表中获取数据
  13. 海康IP摄像头rtsp解码(ubuntu上使用)
  14. 腾讯会议分享屏幕,隐藏演讲者模式
  15. 华硕 小布 类似机器人_“嗨 小布跟着我” | 华硕首款智能机器人“小布”正式发布...
  16. 微信公众号网页授权登陆
  17. js动态修改path值 svg_svg关于animateMotion动态改变path路径来控制svg元素移动
  18. 【vue+pc端】实现微信扫码登录pc端,后端通过微信开发平台,前端生成二维码(仅供参考)
  19. 安卓移动应用开发之从零开始写安卓小程序
  20. 福昕阅读器和编辑器使用注意事项高级查找功能两个应用软件共用。但是注意不能卸载福昕编辑器,试验过卸载后福昕阅读器就没有查找功能了

热门文章

  1. dfp matlab源程序,DFP算法及Matlab程序[精校版本]
  2. 大文件传输解决方案:分片上传 / 下载限速
  3. Axure实现轮播效果
  4. ES6与CommonJS的模块化加载
  5. U-Boot 之一 零基础编译 U-Boot 过程详解、Image 镜像介绍及使用说明、DTB 文件使用说明
  6. excel中如何批量取消隐藏的工作表
  7. H5App Web端定位当前位置,获取GPS和地址信息 (高德API)
  8. 我关机还不行吗?为什么一定要放进手机屏蔽柜
  9. 玩转CPU Topology
  10. OSChina 中秋节乱弹 ——加班比抢了我的小鱼干,更让我难过!