网站首页 > 文章精选 正文
定义
XLD是eXtended Line Description的缩写,中文你可以直译过来解释为 扩展线的描述,XLD可以来表达轮廓和多边形数据。XLD属于图像变量,轮廓是一系列的二维点组成,一系列点连接成线,这里的可以看到这些连接的线是从像素中穿过去的,我们叫这是亚像素精度(sub_pixel),在halcon中,XLD不仅包括点集,而且XLD里面保存了局部和全局的属性,典型的属性有点的幅度以及轮廓分割的回归参数
在halcon中,还可以对轮廓XLD进行一系列的处理,例如可以通过select_shape_xld选择特定的特征对象XLD,还可以segment_contour_xld来把轮廓分割,还可以把union_*_contours_xld一系列算子对轮廓进行合并等操作。
我们认识了XLD之后,我们可以使用XLD拿来干嘛呢? XLD可以用来做测量,XLD创建模板,XLD可以用来拟合直线等。
获取XLD
在获取XLD中,一种是交互式画XLD,draw_xld,这种方式在实际基本没有使用,意义不大。还有一种是通过read_contour_xld_dxf读取XLD,这是通过CAD画的轮廓图,或者通过write_contour_xld_dxf写入的轮廓,这里面可能在某些应用中会使用,前期通过CAD建模,读取到XLD后我们就可以拿来用作匹配的轮廓。
还有一种方式是直接通过算法来获取XLD轮廓,在这里是基于亚像素的轮廓,对应着有彩色图像和灰度图像的获取。edge_color_sub_pix、edges_sub_pix,这两个算子我们会经常使用。
我们还可以通过gen_contour_*_xld系列算子来转换成XLD,只不过,在这里有些是亚像素精度,有些是像素精度。
当我们得到轮廓后,还需要对轮廓进行修饰,常用的使用select_shap_xld,主要的特征有四类,基本、形状、点、moments等特征。
有时候也需要对轮廓进行分割,通过segment_contours_xld来进行分割,获取特定轮廓的坐标点通过get_contour_xld算子获取,这个算子输出轮廓的坐标点集,我们可以使用这些点集来进行特定的应用,可以是拟合直线、拟合圆、判断最大最小值,这就是你的业务逻辑的事情了。
总结一下,XLD是halcon里面的一种数据格式,把点集封装了一下,点集连接成线,这些点集有一些自己的特性,halcon已经封装好了,XLD在应用中是广泛使用的一种工具,用来分割图像特征,学会使用XLD工具会给我们工作带来极大的便利。
猜你喜欢
- 2025-01-01 前端智能化实践:从图片识别UI样式
- 2025-01-01 OpenCV 和 Python 识别数字的结果是怎样的呢
- 2025-01-01 HALCON_极坐标变换
- 2025-01-01 python使用fitz和opencv库提取pdf中的表格
- 2025-01-01 Fluent 多孔介质仿真(Porous Media)
- 2025-01-01 基于密度(Density-based)的聚类——核密度估计(KDE)
- 2025-01-01 平学(26):Matlab学习之三维曲面图与常见函数(2)
- 2025-01-01 [OpenCV实战]13 OpenCV中使用Mask R-CNN进行对象检测和实例分割
- 2025-01-01 OpenCV使用分水岭算法实现图像分割
- 2025-01-01 如何使用Python检测和识别车牌?
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)