Halcon--选取前五个最大的面积区域


前言

基于Halcon选取前五个最大的面积区域


一、思路

【1】读取测试图后,使用threshold阈值分割图像,再用connection连接组件,确定前景区域
【2】使用area_center传递前景区域,结果存储在元组中,元组中的值的索引对应于输入区域的索引,而后使用tuple_sort_index对元组的元素进行排序并返回排序后的元组的索引,并使用tuple_length计算元组长度。采用select_obj从对象元组中选择对象。这里选择倒5。area_center计算相应的面积。
【3】使用select_shape借助形状特征选择区域,这里选取面积大小前5的区域,再用area_center将数据储存进元组。

二、实现

在这里插入图片描述
在这里插入图片描述

三、源码

*读取测试图
read_image(Image,'D:/USER/Desktop/design/dataset/区域提取,选出其中最大的5.tif')
*阈值分割图像
threshold(Image, Region, 0, 150)
*连接组件,确定前景区域
connection(Region, ConnectedRegions)
*传递前景区域,结果存储在元组中,元组中的值的索引对应于输入区域的索引
area_center(ConnectedRegions, Area, Row, Column)
*对元组的元素进行排序并返回排序后的元组的索引
tuple_sort_index(Area, Indices)
*计算元组长度
tuple_length(Area,Length)
*从对象元组中选择对象。这里选择倒5
select_obj(ConnectedRegions, ObjectSelected, Indices[Length-5]+1)
*计算面积
area_center(ObjectSelected,Area1, Row1, Column1)
*借助形状特征选择区域,这里选取前5
select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', Area1, max(Area))
*储存进元组
area_center(SelectedRegions, Area2, Row2, Column2)

总结

希望对你有所帮助,有什么疑惑欢迎留言交流。

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值