Halcon - 变量标志性变量名

Halcon - Variable iconic variable name

我有以下代码:

for i:=0 to num_stripes by 1
        R := Row1 + 5*i
        gen_rectangle1(TransStripe, R,Column1,R+4, Column2)
        intersection(TransStripe, LabelSelcted, RegionIntersection)
        smallest_rectangle1(RegionIntersection, dummy, BeginCol, dummy, EndCol)
        inizio := BeginCol - 5
        fine := EndCol + 5
        area_center(RegionIntersection, dummy, centro_row, centro_col)
        gen_rectangle1(Str, R, inizio, R+4, fine)
        dev_set_color('red')
        dev_display(Str)
    endfor

在最后几行中,我创建了一个名为 Str 的矩形。有没有办法动态创建名称,以便每个矩形都有一个变量? Str1, Str2 ...

遗憾的是,没有直接的方法可以做到这一点。有一些解决方法:

串联对象:

gen_empty_obj (EmptyObject)
for Index := 1 to 5 by 1
    gen_rectangle1 (Rectangle, 30, 20, 100, 200*Index)
    concat_obj (EmptyObject, Rectangle, EmptyObject)
endfor

** Selecting
select_obj (EmptyObject, ObjectSelected, 3)

使用向量(需要 Halcon 12+ 版本)

for Index := 0 to 4 by 1
    gen_rectangle1 (Rectangle.at(Index), 30, 20, 100, 200*(Index+1))
endfor

** Selecting
Object := Rectangle.at(2)

也可以使用向量作为结构并添加多个级别,其中一个级别是名称和其他对象或值。如果您想阅读更多相关信息,我写了一篇文章:https://subpixel.hr/halcon-is-like-a-box-of-chocolates/