halcon中difference区域相减的用法总结
1、单个区域减单个区域
gen_rectangle1 (Rectangle1, 30, 20, 500, 500)
gen_rectangle1 (Rectangle2, 300, 200, 400, 400)
difference (Rectangle1, Rectangle2, RegionDifference)
2、区域数组减单个区域
- gen_rectangle1 (Rectangle1, 20, 20, 100, 100)
- gen_rectangle1 (Rectangle2, 150, 150, 300, 300)
- concat_obj (Rectangle1, Rectangle2, ObjectsConcat)
- gen_rectangle1 (Rectangle3, 50, 50, 200, 200)
- difference (ObjectsConcat, Rectangle3, RegionDifference)
区域数组减去单个区域时,会将区域数组中每个区域减去单个区域,最终得到的区域个数和区域数组中区域个数相同。
3、区域数组减区域数组
- gen_rectangle1 (Rectangle1, 20, 20, 100, 100)
- gen_rectangle1 (Rectangle2, 150, 150, 300, 300)
- concat_obj (Rectangle1, Rectangle2, ObjectsConcat1)
- gen_rectangle1 (Rectangle3, 50, 50, 80, 80)
- gen_rectangle1 (Rectangle4, 200, 200, 250, 250)
- concat_obj (Rectangle3, Rectangle4, ObjectsConcat2)
- difference (ObjectsConcat1, ObjectsConcat2, RegionDifference)
区域数组减去区域数组时,ObjectsConcat2这个区域数组中的区域会首先通过Union1形成一个暂时的组合起来的区域,然后ObjectsConcat1这个区域数组中的每个区域会减去ObjectsConcat2组合成的区域,最终形成的区域个数还是和ObjectsConcat1这个区域数组中区域个数一致。
