halcon学习备忘四(Region的选择处理与信息的多样化显示)

1、Region的选择与处理

通过threshold阈值分割以及在connection和select_shape完后,我们可以得到一些被选择出来的区域Region,接下来想要对这些Region逐个处理,以达到某些目的。那么我们如何逐个选择呢?方法很简单,就是先计数Region的个数,然后for循环遍历每个区域,在循环里面根据Index选择Region。

例如:

count_obj(Regions,Number)

for i:=1 to Number by 1

select_obj(Regions,RegionSelected,i)

................................

endfor


2、信息的多样化显示

在我们希望停顿的时候会写上stop(),为了显示程序没有结束可以给出提示如下:

disp_continue_message(WindowHandle, 'black', 'true')

在程序处理完需要显示结果的时候可以用disp_message或者set_tposition和write_string的组合

例如:

select_shape(Regions, SelectedRegions, 'area', 'and', 1500, 99999)
area_center(SelectedRegions, Area, Row, Column)
ResultMessage:=['Arae is : '+Area,'Row is : '+Row,'Column is : '+Column]
Color:=['red','green','blue']
disp_message(WindowHandle, ResultMessage, 'window', 50, 50, Color, 'true')
dev_set_color('white')
set_tposition(WindowHandle, Row, Column-300)
write_string(WindowHandle, ResultMessage)

你可能感兴趣的:(机器视觉)