1、介绍
在Halcon联合开发项目中,需要在Halcon窗口上绘制不同形状的ROI,但是Halcon自带的绘图操作不太方便,操作时交互感官较差,所以可以通过绘制多边形,通过点来绘制多边形,最后通过闭合算子将绘框形成闭合的xld轮廓或Region,最终得到我们想要的ROI区域。
2、分析
画多边形轮廓是通过画点来形成多边形轮廓的,形成的图形也是不闭合的,绘制Region可以通过绘制点来形成一个闭合的Region。效果如下图所示:
3、代码实现及Qt测试
其中Halcon的代码如下:
draw_polygon (PolygonRegion, 200000)
draw_region (Region, 200000)
gen_contours_skeleton_xld (PolygonRegion, Contours, 1, 'filter')
union_adjacent_contours_xld (Contours, UnionContours, 10, 1, 'attr_keep')
close_contours_xld (UnionContours, ClosedContours)
可以在Qt中进行对应的绘图操作,其实现的功能如下