halcon示例程序(Blob分析--ball.hdev)检测钢珠粘合

在这里插入图片描述

*读取图像
read_image (Bond, 'die/die_03')

*获取图像大小
get_image_size (Bond, Width, Height)

*关闭窗口
dev_clear_window()

*打开窗口: row 行 column 列 宽 高、颜色背景、程序句柄号
dev_open_window(0, 0, Width, Height, 'black', WindowID)

*显示图像
dev_display(Bond)


*限制灰度值范围:100-最小灰度值 255-最大灰度值
threshold (Bond, Bright, 100, 255)

*改变 区域,包裹
shape_trans (Bright, Die, 'rectangle2')
*参数选择
*convex hull凸包围(由外向内包围)
*outer_circle 外圆(能够包括对象的半径最小的圆形)
*inner_circle 内圆
*rectangle1 正矩形
*rectangle2 最小包围矩形
*inner_rectangle1 最大内矩形

*绘制矩形框:设置颜色、线条大小、空白背景、根据哪个图像、
dev_set_color ('green')
dev_set_line_width (3)
dev_set_draw ('margin')
dev_display (Die)

*锁定区域:输入图像、需要锁定的区域、输出图像
reduce_domain (Bond, Die, DieGrey)

*限制灰度值范围:0-最小灰度值 50-最大灰度值
threshold (DieGrey, Wires, 0, 50)

*填充区域:输入图像、输出图像、面积方式、范围1~100
fill_up_shape (Wires, WiresFilled, 'area', 1, 100)
*area面积范围方式筛选
*compactness 紧密度
*convexity 凸状物
*anisometry 等距
*phi、ra、rb、
*inner_circle 内切圆
*outer_circle 外切圆


*去掉半径小于15.5的圆形区域后,将剩下的的区域保存到Balls中
opening_circle (WiresFilled, Balls, 15.5)

*连接:连通域搜索,寻找闭合图像
connection (Balls, SingleBalls)

*选择形状:输入、输出、选择某一种方式(当前为圆形的圆度)、and 或 or、圆的程度范围:0.85~1、
select_shape (SingleBalls, IntermediateBalls, 'circularity', 'and', 0.85, 1.0)

*根据区域的相对位置对区域进行排序
*输入、输出、排序模式、递增或递减、row 行 或 列column
sort_region (IntermediateBalls, FinalBalls, 'first_point', 'true', 'column')
* 'character' 轮廓顶点排序,由上至下
* 'first_point'  同一水平线算一行,由上至下,从左到右,

*最小的外接圆:输入、输出行、输出列、外接圆半径、
smallest_circle (FinalBalls, Row, Column, Radius)

* 计算长度
NumBalls := |Radius|
* 列表中的每个半径长度都乘以2, 计算直径
Diameter := 2 * Radius
*求列表中平均直径
meanDiameter := mean(Diameter)
*计算列表中的最小直径
minDiameter := min(Diameter)

*显示图像
dev_display (Bond)

*显示 圆:句柄号、行(y轴)、列(x轴)、半径
disp_circle (WindowID, Row, Column, Radius)

*设置字体:程序句柄号、字号大小、字体、是否加粗、是否倾斜、
set_display_font (WindowID, 14, 'mono', 'true', 'false')
*显示文本框:句柄、字符串、在什么窗口或图像上、行、列、颜色、是否使用背景框
disp_message (WindowID, 'D: ' + Diameter$'.4', 'image', Row - 2 * Radius, Column, 'white', 'false')
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默执_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值