自己建网站需要备案吗,网上定做相册,域名ip查询,app开发需要哪些技术背景
我们可以用select_shape_xld (Edges, SelectedXLD, area, and, 49000, 100000) 对面积筛选#xff0c;但有时这得到的是一个数值#xff0c;而不是一个值。 而我们想得到这个数组中的最大值#xff0c;该怎么做呢#xff1f;
获取最大的面积的轮廓
*面积选择
selec…背景
我们可以用select_shape_xld (Edges, SelectedXLD, area, and, 49000, 100000) 对面积筛选但有时这得到的是一个数值而不是一个值。 而我们想得到这个数组中的最大值该怎么做呢
获取最大的面积的轮廓
*面积选择
select_shape_xld (Edges, SelectedXLD, area, and, 49000, 100000)
area_center_xld (SelectedXLD, Area, Row, Column, PointOrder)
tuple_sort_index (-Area, Indices)
select_obj (SelectedXLD, SelectedXLD, Indices[0]1) 这里那轮廓类型举例子select_shape_xld筛选轮廓面积。可能得到多个轮廓此时通过 area_center_xld 可以得到轮廓们的具体面积大小。 此时Area就是一个数组。
tuple_sort_index
再通过 tuple_sort_index 对数组排序这个排序是从小到大的。 他会将数组中面积最小的轮廓下标放到最前面。 所以这里需要注意的是tuple_sort_index 并不是将Area这个数组本身进行排序而是得到一个新的下标数组。这里我将Area前面加了一个负号最大的就会变成最小的这样原来最大的就会放到最前面
select_obj
由于我们得到是下标数组所以需要select_obj他可以通过下标选择对象 但是这里有个问题需要注意。halcon中HTuple类型计数是从0开始计算的。 而select_obj选择是HObject对象数组Hobject对象数组是从1开始计数的。 所以这里 Indices[0] 先得到下标数组的第0个值这个下标对应面积最大轮廓但是HTuple类型计数是从0开始计算的而 SelectedXLD对象数组是从1开始计算的所以这里Indices里的下标值都需要加上一个1才能对应上SelectedXLD中的对象于是就有下面这句话了 select_obj (SelectedXLD, SelectedXLD, Indices[0]1)
小结
整个过程比较绕习惯就好啦~~~~