* 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. js创建函数的方式

    一般一下这三种方式 第一种(函数声明): function sum1(num1,num2){   return num1+num2;} 没啥好说的 第二种(函数表达式): var sum2 = fun ...

  2. docker自动化部署前端项目实战一

    docker自动化部署前端项目实战一 本文适用于个人项目,如博客.静态文档,不涉及后台数据交互,以部署文档为例. 思路 利用服务器node脚本,监听github仓库webhook push事件触发po ...

  3. MVC引用asp.net报表(测试小例子)

    public class Default1Controller : Controller { // // GET: /Default1/ public ActionResult Index() { r ...

  4. Mysql基础(六):索引、数据库备份、锁和事务、慢查询优化、索引命中相关

    目录 数据库05 /索引.数据库备份.锁和事务.慢查询优化.索引命中相关 1. 什么是索引 2. 索引的原理 3. 索引的数据结构(聚集索引.辅助索引) 4. 索引操作 5. 索引的两大类型hash与 ...

  5. Mysql基础(五):多表查询、pymysql模块

    目录 数据库04 /多表查询.pymysql模块 1. 笛卡尔积 2. 连表查询 3. 子查询 4. pymysql模块 数据库04 /多表查询.pymysql模块 1. 笛卡尔积 将两表所有的数据一 ...

  6. java 面向对象(二十一):属性的赋值顺序

    * ①默认初始化 * ②显式初始化/⑤在代码块中赋值 * ③构造器中初始化 * ④有了对象以后,可以通过"对象.属性"或"对象.方法"的方式,进行赋值 * * ...

  7. mysql实现主从复制/主从同步

    业务场景 小公司业务代码存于一个服务器上,而这个服务器有的时候回宕机,导致业务停顿,造成影响.这个时候 就需要做高可用 两个ngix+两个tomcat+两个mysql实现高可用,避免单点问题.中间使用 ...

  8. CentOS开机启动不了修复

    1,如果启动时进度条,先修改为日志启动 启动后快速按任何键(Enter除外)进入如下界面 在按e进入 选择第二个选项卡 在按e进入将红色部分 rhgb quiet 删除,然后按Enter,在按b重启 ...

  9. Ethical Hacking - GAINING ACCESS(17)

    CLIENT SIDE ATTACKS - Backdooring exe' s Download an executable file first. VEIL - FRAMEWORK A backd ...

  10. Python Ethical Hacking - Bypass HTTPS(1)

    HTTPS: Problem: Data in HTTP is sent as plain text. A MITM can read and edit requests and responses. ...