halcon中什么是xld?

  xld(eXtended Line Descriptions) 扩展的线性描述,它不是基于像素的,人们称它是亚像素,只不过比像素更精确罢了,可以精确到像素内部的一种描述。

  而image和region这些数据结构都是像素级别的。

  亚像素精度数据可以通过亚像素阈值分割或者亚像素边缘提取来获得,这些处理得到的结果就是用亚像素轮廓来表示。

  上面提到的亚像素轮廓其实在halcon中指的就是xld,它可以表示直线或多边形,是一组有序的控制点集合,控制点顺序用来说明彼此相连的关系。

  当然亚像素轮廓可以分为两种:

  1.闭轮廓:首尾相交

  2.开轮廓:首尾不相交

  我们可以通过如下算子得到xld:

  threshold_sub_pix(Image:Boreder:Threshold:):提取xld并不是沿着像素与像素边界交界的地方,而是halcon经过某种计算得出的位置(一种描述)。其中Threshold为提取xld的阈  值,灰度值以阈值为界提取xld。

  

  xld的特征部分和region有很多相同的部分:

  1.基础特征:xld面积,中心,宽高,左上角及右下角坐标。

  2.形状特征:圆度,紧密度,长度,矩形度,凸性,偏心率,蓬松度(bulkiness),外接圆半径,外接矩形的方向及两边长度等。

  3.云点特征:云点面积,中心,等效椭圆半轴及角度,云点方向等。

  4.几何特征:二阶矩等。

  选取特定xld:

  使用算子:

  select_shape_xld(XLD:SelectedXLD:Features,Operation,Min,Max:)

  作用:选择特定形状特征要求的xld轮廓或多边形

  XLD:要提取的XLD

  SelectedXLD:提取到的XLD

  Features:提取XLD的特征依据

  Operation:特征之间的逻辑关系(and or)

  Min,Max:特征值的要求范围

  Select_Contours_xld(Contours:SelectedContours:Features,Min,Max,Min2,Max2:)

  作用:选择多种特征要求的XLD轮廓 (如长度  开闭  方向 等特征,不支持多边形)

  Contours:要提取的XLD轮廓

  SelectedContours:提取到的XLD轮廓

  Features:提取XLD轮廓的依据(筛选)

  Min,Max,Min2,Max2:特征值的范围

  

  area_center_xld(XLD:::Area,Row,Column,PointOrder)

  作用:计算xld的面积和中心位置

  下面来看看XLD的合并操作:

  union_collinear_contours_xld:合并在同一直线的XLD

  union_cocircular_contours_xld:合并在同圆的XLD

  union_adjacent_contours_xld:合并邻近的XLD

  这些算子以后会详细讲解。

  再来看看XLD的合并操作:

  把XLD转换成其他规则形状的XLD,相应说明及算子和region的很类似:

  1.convex hull

  2.outer_circle

  3.retangle1

  4.retangle2

  这四种类型转换使用同一个算子:

  shape_trans_xld(XLD:XLDTrans:Type:)

  作用:转换XLD的形状,其中Type为转换的类型如上面的四种类型

  接下来看看XLD的分割操作:

  算子:

  segment_contours_xld(Contours:ContoursSplit:Mode,SmoothCont,Max,LineDist1,MaxLineDist2:)

  具体操作以后再说。

  然后就是XLD的拟合操作:(fit_***_contour_xld)

  具体算子如下:

  fit_line_contour_xld:拟合直线

  fit_circle_contour_xld:拟合圆

  fit_ellipse_contour_xld:拟合椭圆

  fit_retangle2_contour_xld:拟合矩形

  

  

  

  

xld特征的更多相关文章

  1. 《HALCON数字图像处理》第四章笔记

    目录 第四章 HALCON数据结构 HALCON Image图像 图像通道 HALCON Region区域 Region的初步介绍 Region的点与线 Region的行程 Region的区域特征 H ...

  2. Halcon中xld的常见特征的含义总结

    如下图:

  3. 卷积神经网络提取特征并用于SVM

    模式识别课程的一次作业.其目标是对UCI的手写数字数据集进行识别,样本数量大约是1600个.图片大小为16x16.要求必须使用SVM作为二分类的分类器. 本文重点是如何使用卷积神经网络(CNN)来提取 ...

  4. [占位-未完成]scikit-learn一般实例之十一:异构数据源的特征联合

    [占位-未完成]scikit-learn一般实例之十一:异构数据源的特征联合 Datasets can often contain components of that require differe ...

  5. PRINCE2特征(三)

    提到不确定性,可能很多从事项目管理相关工作的人都会感同身受,一系列临时性问题,比如:变更.延期.调整.计划赶不上变化.团队调整等的出现,都是项目中再正常不过的内容.但正常不等于合理,我们还是要去思考一 ...

  6. PRINCE2特征(二)

    英国体系环境下项目有什么特征(二) 今天又要和大家分享了,这个时间也是自己很喜欢的时刻.上次给大家分享的是英国体系下项目的特征之一:临时性.不知道大家还有没有印象,英国体系下项目的特征有五个,今天来给 ...

  7. P2特征(一)

    很多人在提到项目的特征,肯定能说出来很多的内容,但是在英国体系下,项目的特点有哪些呢?这些特点引深的内容又有什么深度的含义.         项目具有临时性:很多人都知道项目是临时的,结束了就团队成员 ...

  8. sift特征

    已经有很多博客已经将sift特征提取算法解释的很清楚了,我只是记录一些我不明白的地方,并且记录几个理解sift特征比较好的博客. 1. http://aishack.in/tutorials/sift ...

  9. sift特征源码

    先贴上我对Opencv3.1中sift源码的注释吧,虽然还有很多没看懂.先从detectAndCompute看起 void SIFT_Impl::detectAndCompute(InputArray ...

随机推荐

  1. python selenium学习

    selenium是一个python模块,具有自动化模拟浏览器的功能 selenium的中文文档地址:http://selenium-python-zh.readthedocs.io/en/latest ...

  2. TypeScript tsconfig.json(TypeScript配置)

    如果一个目录下存在一个tsconfig.json文件,那么意味着这个目录是TypeScript项目的根目录. tsconfig.json文件中指定了用来编译这个项目的根文件和编译选项. 一个项目可以通 ...

  3. 利用Python进行数据分析 第7章 数据清洗和准备(2)

    7.3 字符串操作 pandas加强了Python的字符串和文本处理功能,使得能够对整组数据应用字符串表达式和正则表达式,且能够处理烦人的缺失数据. 7.3.1 字符串对象方法 对于许多字符串处理和脚 ...

  4. WUSTOJ 1341: Lake and Island(Java)

    题目链接:1341: Lake and Island Description 北园孩子的专属福利来啦~学校从北区宿舍到湖心岛修建了一条通道让北园的同学们可以上去一(kuang)同(xiu)玩(en)耍 ...

  5. 【Leetcode】746. Min Cost Climbing Stairs

    题目地址: https://leetcode.com/problems/min-cost-climbing-stairs/description/ 解题思路: 官方给出的做法是倒着来,其实正着来也可以 ...

  6. 【并发】6、借助FQueue 实现多线程生产消费队列

    1.这里先要说一下为什么会想到fqueue,因为这个是一个轻量级的消息队列框架,并且速度很快,用起来很方便,就是这样 当然后期考虑使用redis,这里先上一个fqueue的版本,后面有时间我再吧他改成 ...

  7. linux 磁盘占用的排查流程

    Linux 服务器在使用过程中可能会遇到各种问题,其中之一就是"没有可用空间". 遇到这种情况,就需要进行排查,定位到消耗了磁盘的那个文件夹. 流程如下: 1. df -h df ...

  8. js获取网页和屏幕高度

    获取浏览器窗口的可视区域高度和宽度 document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象 ...

  9. OOM与StackOverFlow发生的原因及解决办法【待完成】

    1,Out Of Memery 内存耗尽 1,1 产生原因 1.1.1 内存用完[堆内存] package com.cnblogs.mufasa; import org.junit.Test; imp ...

  10. Verilog HDL

    https://wenku.baidu.com/view/9943b7acf524ccbff1218463.html https://hdlbits.01xz.net/wiki/Main_Page h ...