* 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. 常见的H5移动端Web页面Bug问题解决方案总汇

    解决jquery ajax调用远程接口的跨域问题 首先,接口必须允许远程调用.这是后端或者运维的事情.你必须保证你得到的一个接口是允许远程调用的.否则,就没啥了. $.ajax({ type:'get ...

  2. 内嵌iframe页面在IOS下会受内部元素影响自动撑开的问题

    IOS下的webview页面,内嵌iframe元素,将其样式指定为宽高100%: .iframe { width: %; height: %; } 在安卓下运行均无问题,但是在IOS下会出现异常. 具 ...

  3. OAuth 2.0 授权方式讲解,规范实践和应用

    基于实践说规范 网上看了一些OAuth 2.0的授权方法,尽管讲解的没有什么逻辑性错误,但是存在一个问题,那就是单纯的讲解协议规范却脱离了实际的应用,缺少干货,所以才有了这篇文章,内容基于实际业务进行 ...

  4. Docker-本地镜像发布到阿里云

    1.先生成一个镜像 有两种发法:(1)写DockerFile (2)从容器创建一个新的镜像 docker commit [option] 容器ID 镜像名字:版本号 option 说明 :-a 作者 ...

  5. 选课系统<基于面向过程\对象>

    2020-04-15 00:09:28 程序目录: import os BASE_PATH=os.path.dirname(os.path.dirname(__file__)) DB_PATH=os. ...

  6. Java入门系列之final

    前言 在C#经典面试中掺杂过Java的final关键字,主要用于类不能被继承,在C#则是利用关键字seal修饰类为密封类,而在Java中的final关键字的具体用法包含C#中const.readonl ...

  7. 三种安装python第三方库的方法

    ​    还记得第一天的时候我们说python拥有丰富的库,那这么多的第三方库,我们如何使用呢?今天我们可以看一下python库的安装. 方法一:使用python命令进行离线安装 我以urllib5库 ...

  8. vue 应用 : 计数器组件

    <template> <div class="input-number"> <div @click="sub" :class=&q ...

  9. Web优化躬行记(1)——CSS

    Web优化的对象包括页面性能.用户体验.开发效率.代码优化.网络延迟等,本系列会列举出众多常用的优化技巧,每个技巧都可深入分析,在此只做抛砖引玉. 本系列优化内容提炼于<前端面试宝典>.& ...

  10. Just test it!!软件测试测起来!!

    (图片: josh@unsplash,字数:700,时间:1分钟) (一) 一切的软件质量保障活动,归根结底,就两种类型. 一种是基于代码执行的,一种是不基于代码执行的. 测试之于肉眼自查.静态检查. ...