开启左侧

[HALCON算子] paint_xld 把轮廓绘制到图像上

[复制链接]
Criss 发表于 2022-6-11 11:10:15 | 显示全部楼层 |阅读模式
参数定义:
  1. paint_xld(XLD, Image : ImageResult : Grayval : )
复制代码

作用:
使用恒定灰度值Grayval将轮廓xld或多边形类型的XLD对象绘制到给定的背景图像image每个通道中,并在返回ImageResult结果中。
未闭合的轮廓xld对象将被闭合,并且它们的封闭区域被填满。
使用反锯齿将XLD对象的亚像素边缘绘制到背景图像上。

灰度值指定,可以针对所有的xld对象,也可以指定如下:
  1. [g(channel1,xld1), g(channel2,xld1), g(channel3,xld1), g(channel1,xld2), ... ].
复制代码

比如设置说有的轮廓一个颜色:
  1. Blue
复制代码

或者有三个Xld图形依次设置[蓝色,橘色,蓝色]
  1. [Blue,Orange,Blue]
复制代码


例子:
  1. Paint colored xld objects into a gray image

  2. * read and copy image to generate a three channel image
  3. read_image(Image1,'green-dot')
  4. copy_image(Image1,Image2)
  5. copy_image(Image1,Image3)
  6. compose3(Image1,Image2,Image3,Image)
  7. * extract subpixel border
  8. threshold_sub_pix(Image1,Border,128)
  9. * select the circle and the arrows
  10. select_obj(Border,circle,14)
  11. select_obj(Border,arrows,16)
  12. concat_obj(circle,arrows,green_dot)
  13. * paint a green circle and white arrows (to paint all
  14. * objects e.g., blue, pass [0,0,255] tuple for GrayVal)
  15. paint_xld(green_dot,Image,ImageResult,[0,255,0,255,255,255])
复制代码


Alan_Song 发表于 2023-1-11 14:52:26 | 显示全部楼层
gen_region_polygon可以绘制开放轮廓,防止区域自动闭合
笑忘痴999 发表于 3 天前 | 显示全部楼层
感谢分享!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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