* 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. 每日一题 - 剑指 Offer 30. 包含min函数的栈

    题目信息 时间: 2019-06-24 题目链接:Leetcode tag:栈 难易程度:简单 题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 m ...

  2. 四维DP之方格取数

    题目描述 传送门 设有N*N的方格图(N<=20,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某人从图的左上角的A(1,1) 点出发,可以向下行走,也可 ...

  3. 2.Unity3d常用按键

    Unity3d常用按键和组合键: 1.鼠标左键:选中物体 2.鼠标中键:平移视角,和手型功能一样 3.鼠标右键:旋转观察角度 4.Alt+鼠标左键:旋转观察角度 5.Alt+鼠标右键:拉远拉近

  4. day54 js基础

    目录 一.变量 二.数据类型 1 数值类型(number) 2 字符类型(string) 3 字符类型常用方法 4 布尔值(boolean) 5 null与undefined 6 对象 7 运算符 8 ...

  5. Pop!_OS安装与配置(一):下载安装

    Pop!_OS安装过程 0x0 Pop!_OS简介 0x1 下载 0x2 启动盘制作 0x3 重启安装 如何分区 0x4 重启进入Pop!_OS 0x0 Pop!_OS简介 Linux发行版选哪个? ...

  6. javascript基础(二): 操作BOM对象(重点)

    浏览器介绍 javascript和浏览器关系?BOM:浏览器对象模型 IE6~11 Chrome Safari FireFox Opera 三方 QQ浏览器 360浏览器 window window代 ...

  7. CRM【第一篇】: 权限组件之权限控制

    1. 问:为什么程序需要权限控制? 答:生活中的权限限制,① 看灾难片电影<2012>中富人和权贵有权登上诺亚方舟,穷苦老百姓只有等着灾难的来临:② 屌丝们,有没有想过为什么那些长得漂亮身 ...

  8. CRM【第二篇】: stark组件

    介绍: stark组件,是一个帮助开发者快速实现数据库表的增删改查+的组件.目标: 10s 中完成一张表的增删改查. 前戏: django项目启动时,自定义执行某个py文件. django启动时,且在 ...

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

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

  10. 毕业三年从月薪6K到20K

    首先,声明这不是标题党,是一个真实的北漂故事!     为什么写这篇文章呢?第一,有感而发,感恩遇到的人和事,其次,希望对读这篇文章的你有所帮助 毕业那年 时间追溯到17年6月30号,那天毕业典礼,之 ...