开启左侧

XLD 生成轮廓数组的问题

[复制链接]
leemh 发表于 2022-11-24 21:37:00 | 显示全部楼层 |阅读模式
需求:我自己画了两个xld轮廓,如图1,但是我想把这两个轮廓放到同一个xld轮廓数组中,最终形成的效果如图3(图3是canny算子计算得到的xld数组)。
要求:我也想实现同样的效果。
尝试:我看了很多xld相关的算子,并没有找到适用的算子方法。其中我试了union算子,结果两个xld轮廓合并成了一个,不能满足我的需求。
          接着我又尝试了使用创建数组的方式,发现xld轮廓不能用这样的操作,只能适用于字符、数字类。
寻求帮助:这个问题困扰住我了,其实我是想要自己做一个xld轮廓数组,把自己画的xld轮廓组合到一起行成一个新的复杂轮廓(如图四),请吧友们给点建议和方向,不胜感激。

图1

图1

图2

图2

图3

图3

图4.jpg
Criss 发表于 2022-11-24 21:42:40 | 显示全部楼层
微信截图_20221124214228.png
  1. gen_rectangle1 (Rectangle, 100, 100, 300, 300)
  2. gen_contour_region_xld (Rectangle, Contours, 'border')
  3. dilation_rectangle1 (Rectangle, RegionDilation, 21, 21)
  4. gen_contour_region_xld (RegionDilation, Contours1, 'border')
  5. gen_empty_obj (ObjectArray)
  6. concat_obj (ObjectArray, Contours, ObjectArray)
  7. concat_obj (ObjectArray, Contours1, ObjectArray)
复制代码
这里的ObjectArray就是你要的效果了,类似Connection之后的效果。
顺便说一句,HDevelop中图形数组只能用算子进行,ObjectArray[1]取下标这种取控制类型数据方式不可取
在图形数组中,取对象,需要用select_obj(图形数组,输出对象,索引值) 算子
而在C#中就可以使用ObjectArray[1]方式取对象了(图形数组的起始索引是从1开始)
 楼主| leemh 发表于 2022-11-24 21:56:04 | 显示全部楼层
谢谢吧主的回复,成功解决了我的问题。用concat_obj算子可以解决。
再次感谢吧主
cokily 发表于 2022-11-25 15:55:22 | 显示全部楼层
好用,刚在找这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表