* ball.hdev: Inspection of Ball Bonding

* 关闭窗体更新

dev_update_window ('off')
*关闭窗体
dev_close_window ()
*打开新窗体
dev_open_window (0, 0, 728, 512, 'black', WindowID)
*读取图像一般默认路径是:C:/Users/Public/Documents/MVTec/HALCON-17.12-Progress/examples/images/die
read_image (Bond, 'die/die_03')
*显示图片
dev_display (Bond)
*设置显示字体
set_display_font (WindowID, 14, 'mono', 'true', 'false')
*右下角显示 'Press Run (F5) to continue' 这个信息
disp_continue_message (WindowID, 'black', 'true')
stop ()
*灰度值分割区域,提取灰度伪100-255的区域
threshold (Bond, Bright, 100, 255)
*改变亮区域为旋转矩形
shape_trans (Bright, Die, 'rectangle2')
*设置显示颜色为绿色
dev_set_color ('green')
*设置线宽
dev_set_line_width (3)
*设置显示填充形式,两种,margin表示边界,fill表示全部填充
dev_set_draw ('margin')
*显示填充的图像
dev_display (Die)
*右下角显示 'Press Run (F5) to continue' 这个信息
disp_continue_message (WindowID, 'black', 'true')
stop ()
*截取目标区域
reduce_domain (Bond, Die, DieGrey)
*灰度值分割区域,提取灰度伪0-50的区域
threshold (DieGrey, Wires, 0, 50)
*填充区域
fill_up_shape (Wires, WiresFilled, 'area', 1, 100)
*显示图像
dev_display (Bond)
*设置显示填充形式,两种,margin表示边界,fill表示全部填充
dev_set_draw ('fill')
*设置显示颜色为红色
dev_set_color ('red')
*显示图像
dev_display (WiresFilled)
*右下角显示 'Press Run (F5) to continue' 这个信息
disp_continue_message (WindowID, 'black', 'true')
stop ()
*开运算,去除小斑点,小于15.5都去除掉
opening_circle (WiresFilled, Balls, 15.5)
*设置显示颜色为绿色
dev_set_color ('green')
*显示图像
dev_display (Balls)
*右下角显示 'Press Run (F5) to continue' 这个信息
disp_continue_message (WindowID, 'black', 'true')
stop ()
*把不连在一起的区域分割开
connection (Balls, SingleBalls)
*根据特征选择目标区域
select_shape (SingleBalls, IntermediateBalls, 'circularity', 'and', 0.85, 1.0)
*根据区域的第一点排序区域,
sort_region (IntermediateBalls, FinalBalls, 'first_point', 'true', 'column')
*显示图像
dev_display (Bond)
*设置显示颜色为12混色
dev_set_colored (12)
*显示图像
dev_display (FinalBalls)
*右下角显示 'Press Run (F5) to continue' 这个信息
disp_continue_message (WindowID, 'black', 'true')
stop ()
*获取最小外接圆
smallest_circle (FinalBalls, Row, Column, Radius)
*算出获取的目标数量,算出直径,平均直径,最小直径
NumBalls := |Radius|
Diameter := 2 * Radius
meanDiameter := mean(Diameter)
minDiameter := min(Diameter)
*显示图像
dev_display (Bond)
*显示圆
disp_circle (WindowID, Row, Column, Radius)
*设置显示颜色为白色
dev_set_color ('white')
*显示各个区域的直径
disp_message (WindowID, 'D: ' + Diameter$'.4', 'image', Row - 2 * Radius, Column, 'white', 'false')
dev_update_window ('on')

Blob分析之 ball.hdev的更多相关文章

  1. Blob分析之ball_seq.hdev

    * ball_seq.hdev: Inspection of Ball Bonding * 关闭更新dev_update_off ()*图像集合ImageNames := 'die/' + ['die ...

  2. Blob分析之bottle.hdev

    * 分割读取啤酒瓶子上的数字* bottle.hdev: Segment and read numbers on a beer bottle* 第0步* Step 0: Preparations*定义 ...

  3. Blob分析之board.hdev

    * board.hdev: Detection of missing solder* 获取当前系统参数get_system ('clip_region', Information)*设置当前系统参数s ...

  4. 常用机器视觉工具----图像分析工具(blob分析)

    http://blog.sina.com.cn/s/blog_67cc4eb70100ivnt.html Blob分析:Blob分析目的在于对图像中的2-D形状进行检测和分析,得到诸如目标位置.形状. ...

  5. opencv 在工业中的应用:blob分析

    在工业中经常要检测一副图像中物体的数量,位置,大小,面积等信息,这就要用到BLOB分析,我用OPENCV做了个BLOB分析的DEMO. (1)打开一幅图像 (2)进行参数设置,设定二值化阙值,并选择是 ...

  6. Blob分析--粘连颗粒检测 基于距离变换的分水岭区域分割 盆地与原连通域求交集

    文章转自微信公众号:机器视觉那些事 *******************************************************************公众号:机器视觉那些事儿*** ...

  7. Halcon 笔记2 Blob分析

    1. 数组操作 2. 可视化-更新窗口 (1)单步模式-总是:则可以自动显示图像: (2)单步模式-从不:需要调用显示函数才能显示图像. (3)单步模式-清空显示:将原图清除,再显示新图 3. 图像处 ...

  8. Halcon blob分析基本处理步骤

    Halcon,blob分析 应用场景,二值化后的灰度图像对比度清晰 基本处理流程 1 读取图片 read_image(变量名,'路径') //halcon字符串使用单引号'' 2 预处理 2.1 RO ...

  9. Blob分析之board _components.hdev

    *用立体方法分割板子组件的示例程序*Application program to illustrate the segmentation* of board _components.hdev  wit ...

随机推荐

  1. elasticsearch 单节点搭建与爬坑记录

    elasticsearch 单节点搭建与爬坑记录   prepare   虚拟机或者云服务器(这里用的是阿里云ECS) linux---centos7 安装完毕的jdk 相应的安装包(在https:/ ...

  2. 基于tcp/udp协议的套接字通信

    目录 一.套接字分类 二.套接字的工作流程 三.基于tcp协议的套接字 四.基于udp协议的套接字 一.套接字分类 1.基于文件类型的套接字家族:AF_UNIX 2.基于网络类型的套接字家族:AF_I ...

  3. gulp-less打包后calc属性计算不准确的问题

    .step-item{ width: calc((100% - 50px) / 2); &:nth-child(2){ margin-right: 0; } } 这样直接写的话,编译时会直接给 ...

  4. MCU 51-1概述

    Microcontroller Unit 单片机:将微处理器CPU.存储器(RAM.ROM) .基本输入/输出(I/O) 接口电路和总线接口等组装在一块主机板(即微机主板). 微型计算机:将微处理器C ...

  5. Scala 基础(一):各平台安装

    一.win7环境安装1.安装jdk直接双击,安装到想要的环境目录2.修改环境变量2.1新建系统变量 JAVA_HOME 输入jdk安装目录 2.2 修改PATH修改PATH:%JAVA_HOME%\b ...

  6. bzoj1787[Ahoi2008]Meet 紧急集合&bzoj1832[AHOI2008]聚会

    bzoj1787[Ahoi2008]Meet 紧急集合 bzoj1832[AHOI2008]聚会 题意: 给个树,每次给三个点,求与这三个点距离最小的点. 题解: 倍增求出两两之间的LCA后,比较容易 ...

  7. “我放弃了年薪20万的offer…”

    最近身边朋友换工作.转型的越来越多.爬到一定高度,或者说到了一定年龄,每个选择都显得尤为重要.不仅因为高昂的机会成本,还有大家对后续规划的多重考虑.有一个说法你可能听过:混职场,要拥有不可替代的能力. ...

  8. 【Nginx】如何使用Nginx实现MySQL数据库的负载均衡?看完我懂了!!

    写在前面 Nginx能够实现HTTP.HTTPS协议的负载均衡,也能够实现TCP协议的负载均衡.那么,问题来了,可不可以通过Nginx实现MySQL数据库的负载均衡呢?答案是:可以.接下来,就让我们一 ...

  9. PyCharm+PyQt5+Qt Designer配置

    配置前提 因为本机已经配置完毕了,本次使用的是虚拟机中的Win7系统,Win10系统操作步骤完全一样,无任何区别 PyCharm (这个不多说,官网下载安装,我是用的是2019.3版本) Python ...

  10. 支持向量机SMO算法实现(注释详细)

    一:SVM算法 (一)见西瓜书及笔记 (二)统计学习方法及笔记 (三)推文https://zhuanlan.zhihu.com/p/34924821 (四)推文 支持向量机原理(一) 线性支持向量机 ...