halcon基础案例+算子学习(二)

本文介绍了Halcon中的关键图像处理技术,包括区域的交集、补集、反选、合并,区域填充,筛选,以及ROI绘制。此外,还涉及图像转换、时间计算、文件读写、形态学操作等,如膨胀、腐蚀、开闭运算,展示了在图像分割和分析中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.对区域进行交集、补集、反选、合并

1.1对所选区域进行取反

*创建一个窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
*画圆(输出、圆点坐标、半径)
gen_circle (Cricle1, 224.5, 250.5, 131.727)
*清除窗口
dev_clear_window ()
*取反操作
complement (Cricle1, RegionComplement)

1.2 计算区域1相对于区域2不同

dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
gen_circle (Cricle1, 122.5, 126.5, 69.7711)
gen_circle (Cricle2, 184.5, 179.5, 73.9256)
*计算Cricle1相对于Cricle2的不同
difference (Cricle1, Cricle2, RegionDifference)
dev_clear_window ()
dev_display (RegionDifference)

1.3计算两个区域的不同

dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
gen_circle (Cricle1, 114.5, 127.5, 89.3588)
gen_circle (Cricle2, 163.5, 171.5, 94.8472)
*计算Cricle1和Cricle2的不同
symm_difference(Cricle1, Cricle2 ,RegionDifference)
dev_clear_window ()
dev_display (RegionDifference)

1.4求两个区域的交集

dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
gen_circle (Cricle1, 114.5, 127.5, 89.3588)
gen_circle (Cricle2, 163.5, 171.5, 94.8472)
*求两个区域的交集
intersection (Cricle1, Cricle2, RegionIntersection)
dev_clear_window ()
dev_display (RegionIntersection)

1.5对所选区域进行合并

dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
*读取图片
read_image (Image, 'fabrik')
*设置颜色,
dev_set_colored (12)
*阈值处理(输入的图片、输出图片、阈值范围)
threshold (Image, Region, 128, 255)
*对所选的区域进行连通
connection (Region, ConnectedRegions)
*对所选的区域进行合并
union1 (ConnectedRegions, RegionUnion)
*对两个区域进行合并
*union2 (Circle1, Circle2, RegionUnion)
dev_clear_window ()
dev_display (Image)
dev_display (RegionUnion)

2.对区域进行填充

read_image (image, 'egypt1')
threshold (image, Region, 0, 140)
*对所选区域进行填充
fill_up (Region, RegionFillUp)
*对所选区域进行选择行填充(输入、输出、特征)
fill_up_shape (RegionFillUp, RegionFillUp1, 'area', 1, 100)
dev_display (image)
dev_display (RegionFillUp)

3.对区域进行筛选

dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
read_image (Image, 'fabrik')
threshold (Image, Region, 128, 255)
connection (Region, ConnectedRegions)
*根据面积范围[8000, 9000]进行过滤
dev_display (Image)
*对区域进行筛选(输入、输出、特征)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 8000, 9000)
dev_display (Image)
dev_display (SelectedRegions)
*算子select_shape_std将给定区域的形状与默认形状进行比较。 如果该区域具有相似的形状,则输出为相似的形状.(输入、输出、特征、相似度)
select_shape_std (ConnectedRegions, SelectedRegions1, 'rectangle1', 90)
dev_display (Image)
dev_display (SelectedRegions1)
*算子select_shape_proto 过滤出彼此具有一定关系的区域。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值