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. HTTP权威指南-报文与状态码

    所有的报文都向下流动 报文流向 报文组成 HTTP方法 状态码 GET示例 HEAD示例 100~199 信息性状态码 200~299 成功状态码 300~399重定向状态码 400~499 客户端错 ...

  2. Django源码分析之启动wsgi发生的事

    前言 ​ 好多人对技术的理解都停留在懂得使用即可,因而只会用而不会灵活用,俗话说好奇害死猫,不然我也不会在凌晨1.48的时候决定写这篇博客,好吧不啰嗦了 ​ 继续上一篇文章,后我有个问题(上文:&qu ...

  3. javascript常用小案例

    常用javascript小案例 样式调节 //注: 这个可以控制td中的字段成行显示 #modelInfos td,th { white-space: nowrap; } //文本输入框随着内容尺寸往 ...

  4. Word 固定行间距公式图片显示不全、Word Eculid 字体导致行间距过大、Word 行间距过大

    1. 前言 1.有些文章行间距要求是固定值,比如,固定值15磅,但是这样会导致有些公式.图片显示不全.例如下图: 2.Euclid这个字体很容易导致行间距超大. 2. 解决方案 1.把固定值15磅改为 ...

  5. QT json数据的应用(cJSON)

    json数据可保存小量的数据在本地的json文件中.QT有两种方式操作:(1).cJSON (2).QT的操作json数据的类. 应用:将监控预案数据保存在本地中. 1.首先根据预案结构创建一个jso ...

  6. 剑指offer64:滑动窗口的最大值

    1 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4 ...

  7. golang使用一个二叉树来实现一个插入排序

    思路不太好理解,请用断点 package main import "fmt" type tree struct { value int left, right *tree } fu ...

  8. 十八、Nand Flash驱动和Nor Flash驱动

    在读者学习本章之前,最好了解Nand Flash读写过程和操作,可以参考:Nand Flash裸机操作. 一开始想在本章写eMMC框架和设备驱动,但是没有找到关于eMMC设备驱动具体写法,所以本章仍继 ...

  9. 解决阿里云OSS The requested bucket name is not available的办法

    今天在创建Bucket的时候遇到了这个问题 The requested bucket name is not available. The bucket namespace is shared by ...

  10. Django2.0 分页的应用

    #分页例子from django.core.paginator import Paginatordef blog_list(request):      blog_all_list = models. ...