* 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. YAML & JSON &XML如何选择

    前言 本文翻译https://www.csestack.org/yaml-vs-json-vs-xml-difference/,下文会针对当前现有的数据序列化语言做下梳理.重点突出YAML是什么,优缺 ...

  2. CVE-2020-5902 F5 BIG-IP 远程代码执行RCE

    cve-2020-5902 : RCE:curl -v -k 'https://[F5 Host]/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd. ...

  3. 宁波市第三届网络安全大赛-WriteUp(Misc)

    友情链接 Web师傅:skyxmao师傅 内心OS 第一次参加这种大型比赛,实力较菜,请师傅们多多指点 Misc | 完成 | 第一 下载文件,看一下doc没有任何问题, 没有发现任何隐写,然后修改文 ...

  4. 全局作用域中,用 const 和 let 声明的变量不在 window 上,那到底在哪里?如何去获取?

    在ES5中,顶层对象的属性和全局变量是等价的,var 命令和 function 命令声明的全局变量,自然也是顶层对象. var a = 12; function f(){}; console.log( ...

  5. Linux02 /Linux命令简单使用

    Linux02 /Linux命令简单使用 目录 Linux02 /Linux命令简单使用 1. 远程连接Linux 2. 目录相关操作 3. 简单命令 1. 远程连接Linux 远程连接工具 Xshe ...

  6. Python模块03/re模块

    Python模块03/re模块 内容大纲 re模块(正则表达式) 1.re模块(正则表达式) import re s = "meet_宝元_meet" print(re.finda ...

  7. 安卓移动端line-height垂直居中出现偏移的解决方法

    目前移动端在项目使用的rem,安卓手机上line-height属性,让它的值等于height,结果发现是不居中的. 出现此问题的原因是Android在排版计算的时候参考了primyfont字体的相关属 ...

  8. bzoj3383[Usaco2004 Open]Cave Cows 4 洞穴里的牛之四*

    bzoj3383[Usaco2004 Open]Cave Cows 4 洞穴里的牛之四 题意: 平面直角坐标系有n个点,从(0,0)出发,从一个点上可以跳到所有与它横纵坐标距离都≤2的点上,求最少步数 ...

  9. Reface.AppStarter 基本示例

    Reface.AppStarter 向应用层提供以下几项 核心 功能 以模块化组织你的应用程序 自动注册组件至 IOC 容器 自动映射配置文件至配置类 在模块定义类中额外追加组件至 IOC 容器 在模 ...

  10. ASP.NET Core静态文件处理源码探究

    前言     静态文件(如 HTML.CSS.图像和 JavaScript)等是Web程序的重要组成部分.传统的ASP.NET项目一般都是部署在IIS上,IIS是一个功能非常强大的服务器平台,可以直接 ...