halcon例程学习——ball.hdev

在这里插入图片描述

dev_update_window ('off')
dev_close_window ()
dev_open_window (0, 0, 728, 512, 'black', WindowID)
read_image (Bond, 'die/die_03')
dev_display (Bond)
set_display_font (WindowID, 14, 'mono', 'true', 'false')
*自带的 提示继续
disp_continue_message (WindowID, 'black', 'true')
stop ()
*阈值分割(输入区域,输出区域,阈值范围)
threshold (Bond, Bright, 100, 255)
*将区域转换成某一形状(输入区域,输出区域,要转换的形状)
shape_trans (Bright, Die, 'rectangle2')
dev_set_color ('green')
dev_set_line_width (3)
dev_set_draw ('margin')
dev_display (Die)
disp_continue_message (WindowID, 'black', 'true')
stop ()
*裁剪区域,相当于拿着die这块板子去bond图像上面拆一块下来,并命名DieGrey(输入区域,要被裁剪的样板,输出区域)
reduce_domain (Bond, Die, DieGrey)
*对裁剪下来的区域进行阈值分割(输入区域,输出区域,阈值范围)
threshold (DieGrey, Wires, 0, 50)
*填充有某些特征的孔(需要填充的区域,输出区域,特征,特征范围)
fill_up_shape (Wires, WiresFilled, 'area', 1, 100)
dev_display (Bond)
dev_set_draw ('fill')
dev_set_color ('red')
dev_display (WiresFilled)
disp_continue_message (WindowID, 'black', 'true')
stop ()
*开运算去掉半径小于15.5的小圆(输入区域,输出区域,圆的半径)
opening_circle (WiresFilled, Balls, 15.5)
dev_set_color ('green')
dev_display (Balls)
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)
dev_set_colored (12)
dev_display (FinalBalls)
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')
原图
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0c17ad06010e4ec29d37cd70d93657e8.png)
阈值分割之后
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/63e1957748e54abba3e8c7853781da15.png)
开运算之后
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a165232c57c4435fb5126d3d95f66be2.png)
形状选择之后
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/53fa7b35eec7484487a0e219c41ff7d1.png)

相关推荐

  1. 【issue-halcon学习】ball.hdev

    2024-03-29 23:22:02       29 阅读
  2. 【issue-halcon学习】fin.hdev

    2024-03-29 23:22:02       48 阅读
  3. 【issue-halcon学习】measure_arc.hdev

    2024-03-29 23:22:02       23 阅读
  4. 【issue-halcon学习】fuzzy_measure_pin.hdev

    2024-03-29 23:22:02       32 阅读
  5. 【issue-halcon学习】edge_segments.hdev

    2024-03-29 23:22:02       35 阅读
  6. 【issue-halcon学习】edges_color.hdev

    2024-03-29 23:22:02       34 阅读
  7. 【issue-halcon学习】lines_gauss.hdev

    2024-03-29 23:22:02       27 阅读
  8. 【issue-halcon学习】rim_simple.hdev

    2024-03-29 23:22:02       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 23:22:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 23:22:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 23:22:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 23:22:02       20 阅读

热门阅读

  1. 脏牛提权(靶机复现)

    2024-03-29 23:22:02       16 阅读
  2. Mybatis plus(一)

    2024-03-29 23:22:02       18 阅读
  3. 深入探索Python异步编程:从原理到实践

    2024-03-29 23:22:02       18 阅读
  4. spring概念 及 SpringIoc 、DI

    2024-03-29 23:22:02       20 阅读
  5. Vue 组件和插件:探索细节与差异

    2024-03-29 23:22:02       17 阅读
  6. 代码随想录Day37

    2024-03-29 23:22:02       21 阅读
  7. AIST++ 笔记

    2024-03-29 23:22:02       19 阅读
  8. 老程序员不讲武德

    2024-03-29 23:22:02       20 阅读
  9. linux快速入门

    2024-03-29 23:22:02       17 阅读
  10. Vue 3:前端开发的新时代

    2024-03-29 23:22:02       17 阅读
  11. ntp服务器搭建

    2024-03-29 23:22:02       17 阅读