halcon像素统计_Halcon(八)亚像素轮廓XLD
fast_threshold (Image, Region, 0, 120,
7)
boundary
(Region, RegionBorder, 'inner')
dilation_circle (RegionClipped, RegionDilation,
2.5)
reduce_domain (Image, RegionDilation,
ImageReduced)
一副图片的前期处理:
1、Blob应用(逼近感兴趣区域)
2、Boundary
3、膨胀
4、形成Image
提取图像精确边缘
(精确边缘就是亚像素边缘)
(这个函数就是将含有边缘的图像变成亚像素轮廓XLD)
Image:
输入图像
Edges: 输出边缘轮廓
Filter:
边缘提取算法的名称(canny,lanser1
)
Alpha:高斯平滑系数
Low:
低阈值
High:
高阈值
edges_sub_pix (ImageReduced, Edges, 'canny', 2, 20,
60)
(20,60,这两个越小,边缘越多,越细腻,越大,边缘越少)
介绍一下Canny算子:使用累计直方图计算两个阀值。凡是大于高阀值的一定是边缘;
凡是小于低阀值的一定不是边缘;如果检测结果大于低阀值但又小于高阀值,那就要看这个像素的邻接像素中有没有超过高阀值的边缘像素:如果有的话那么它就是边缘了,否则他就不是边缘;
将一个XLD轮廓分割为直线段、圆(圆弧)、椭圆弧。
Contours:
需要进行分割的轮廓。
ContoursSplit:
分割后的轮廓tuple。
Mode:
分割轮廓的方式,可以选择'lines'(使用直线段分割),
'lines_circles'(使用直线段和圆(弧)分割),
'lines_ellipses'(使用直线段和椭圆弧分割)。
SmoothCont:轮廓平滑的参数,可以抑制在折线逼近过程中过短的线段,能更加鲁棒的逼近圆和椭圆。
MaxLineDist1:
第一次用Ramer算法(即用直线段递进逼近轮廓)时的MaxLineDist,在逼近完成之后,再
用圆弧或椭圆弧对相邻分割线段进行拟合,如果拟合圆弧到轮廓的距离小于逼近线段到轮廓的距离,就用圆 弧替代逼近线段,这个过程一致迭代直到所有的线段拟合完毕。
MaxLineDist2:
第二次逼近轮廓时的MaxLineDist,只有当MaxLineDist2
这种两步逼近算法效率较高,因为在第一次逼近过程中,递进逼近的直线段较少,因此较大直径的圆弧能够被高效的分割出来。在第二次逼近过程中,能够被小直径圆弧逼近的轮廓被找到,同时大直径圆弧的末端被重新定义。
segment_contours_xld (Edges, ContoursSplit,
'lines_circles', 5, 4, 3)
Remark:
分割得到的轮廓是直线段、圆(圆弧)或者椭圆弧可以通过分割后轮廓的全局属性'cont_approx’参数的值来确定(参考get_contour_global_attrib_xld)。
如果'cont_approx'=-1,这一部分轮廓最适合被拟合为直线段。
如果'cont_approx'=0,这一部分轮廓最适合被拟合为椭圆弧。
如果'cont_approx'=1,这一部分轮廓最适合被拟合为圆弧。
Count_obj
(ContoursSplit,Number)
计算ContoursSplit连通域的个数
Select_obj
(ContoursSplit,i)
选择ContoursSplit连通域中第i个连通域
get_contour_global_attrib_xld:
::
用于得到一段XLD轮廓的全局特征
参数列表:
Contour(in):单个轮廓
Name
: 特征名称,如
regr_norm_row\regr_norm_col\regr_mean_dist\regr_dev_dist\cont_approx
Attrib(out):特征值
可能前置项:
lines_gauss, lines_facet, edges_sub_pix
get_contour_global_attrib_xld (ObjectSelected,
'cont_approx', Attrib)
如果Attrib
=-1,这一部分轮廓最适合被拟合为直线段。
如果Attrib
=0,这一部分轮廓最适合被拟合为椭圆弧。
如果Attrib
=1,这一部分轮廓最适合被拟合为圆弧。
If (Attrib > 0)
对亚像素拟合圆的函数
Contours(in):
输入轮廓
Algorithm(in):
拟合圆的算法
MaxNumPoints(in):
用于计算的最大轮廓点个数
MaxClosureDist(in):
一个轮廓的末尾点最大间距被认为是闭合
ClippingEndPoints(in):在逼近过程中被忽略的开始及末尾点个数
Iterations(in):
迭代的最大次数用于鲁棒加权拟合
ClippingFactor(in):
消除异常值的裁剪因子
Row(out):
圆心行坐标
Col(out):
圆心列坐标
Radius(out):
圆半径
StartPhi(out):
开始点的角度(rad)
EndPhi(out):
末尾点的角度(rad)
PointOrder(out):
边界点的顺序
fit_circle_contour_xld (ObjectSelected, 'ahuber', -1, 2, 0,
3, 2, Row, Column, Radius, StartPhi, EndPhi,
PointOrder)
函数作用:
对一些线段的XLD做近似计算直线计算
参数Algorithm的可选项解释如下:
algebraic:这种方法减少了轮廓点与结果圆之间的代数距离
ahuber:类似于algebraic,轮廓点被加权以减小异常值的影响基于方法Huber
atukey:类似于algebraic,轮廓点被加权以减小异常值的影响基于方法Tukey
geometric:该法减少了轮廓点与结果圆之间的几何距离,该法被统计是最优的,但占用很多计算时间。如果轮廓点被噪声干扰严重,可以考虑使用该方法。
geohuber:类似于geometric,轮廓点被加权以减小异常值的影响基于方法Huber
geotukey:类似于geometric,轮廓点被加权以减小异常值的影响基于方法Tukey
ClippingFactor控制被弱化的异常值个数,值越小,越多异常值被检测到。
最小拟合一条线的必要轮廓点个数是2,因此,一条轮廓线点个数至少是2+2*ClippingEndPoints
可替代项:
fit_ellipse_contour_xld
fit_line_contour_xld
fit_rectangle2_contour_xld
可能后置项:
gen_circle_contour_xld
disp_circle,
get_points_
提取图像精确边缘 (精确边缘就是亚像素边缘) (zero—cross)
将一个XLD轮廓分割为直线段、圆(圆弧)、椭圆弧。
get_contour_global_attrib_xld(:
::
用于得到一段XLD轮廓的全局特征
对亚像素拟合圆的函数
第一步:提取轮廓
第二部:分割轮廓
第三部:选取轮廓,得到特征
第四部:根据特征,选择函数进行拟合
1、亚像素精度阈值分割
threshold_sub_pix(Image : Border : Threshold : )
2、亚像素轮廓查找
edges_sub_pix(Image : Edges : Filter, Alpha, Low, High :
)
zero_crossing_sub_pix(Image : ZeroCrossings : :
)
halcon像素统计_Halcon(八)亚像素轮廓XLD相关推荐
- halcon像素统计_Halcon学习(27-1)halcon测量技术:亚像素,亚像素精度
友发来两个小项目,要求亚像素精度.突然想问几个问题:1.何为亚像素?2.何为亚像素精度?3.使用亚像素测量,系统应注意什么? 1.何谓亚像素? 面阵摄像机的成像面以像素为最小单位.例如某CMOS摄像芯 ...
- 使用OpenCV实现Halcon算法(1)亚像素提取边缘,Sub-Pixel Edge Detector
声明:本篇仅仅是分享网上的开源项目,算法非本人原创.转载文章: <A Sub-Pixel Edge Detector: an Implementation of the Canny/Devern ...
- opencv亚像素边缘精度_opencv 快速亚像素边缘_亚像素边缘定位在光纤中应用
摘要:随着图象识别技术更广泛的应用到生产领域,其和自动控制相结合可以大大提高工业生产效率,减少人工操作带来的种种弊端.由于使用图像采集,计算机分析.处理.控制,光纤熔接机物镜检测精确度大大提高,从而使 ...
- halcon像素统计_Halcon一日一练:图像分辨率与像素
1.图像像素: 像素是指由图像的小方格即所谓的像素(pixel)组成的,这些小方块都有一个明确的位置和被分配的色彩数值,而这些一小方格的颜色和位置就决定该图像所呈现出来的样子.像素是构成图像的基本单元 ...
- halcon 亚像素定义以及测量拟合
流程: 实现流程: 1>采集图像 2>预处理(RoI) :缩小干扰的区域 3>亚像素的边缘提取(xld) edges_sub_pix 边缘提取算子 threshold_sub_pix ...
- 亚像素边缘提取的例子
求帮忙下载: 1.http://download.csdn.net/detail/pkma75/925394 pkma75 资源积分:1分 备注:pdf格式,用曲线拟合的方法计算亚像素,编程易实现,具 ...
- MATLAB亚像素定位,亚像素精准边缘定位
1.http://download.csdn.net/detail/pkma75/925394 pkma75 资源积分:1分 备注:pdf格式,用曲线拟合的方法计算亚像素,编程易实现,具有较强的实用价 ...
- 【遥感图像处理】什么是亚像素,超像素?
文章目录 1. 亚像素 1.1 亚像素 1.2 亚像素的精度 2. 超像素 2.2 超像素判别条件 2.3 超像素生成算法 1. 亚像素 1.1 亚像素 亚像素,英文subpixel 在相机成像的过程 ...
- 深入理解——亚像素 / sub-pixel、亚像素卷积
目录 1.1 亚像素理解 1.2 何谓亚像素? 1.3 何谓亚像素精度? 摘要: 2 图像处理中的sub-pixel是什么意思? 3 PixelShuffle(像素重组) 1.1 亚像素理解 在相机成 ...
最新文章
- usaco ★Subset Sums 集合
- 在Ubuntu 14.04 64bit上安装下载管理器FlareGet 4.2.92
- angular之两种路由
- linux环境部署python3+django
- python基础入门(1)
- Qt文档阅读笔记-Threaded Fortune Server Example解析
- 我应关注的AEC算法细分
- 软件包管理器前端工具yum的使用
- allegro异形孔导出gerber
- 正大国际琪貨召主涨沪:期货交易止损方法主要有那些
- JSON、AJAX、Maven
- Windows系统盘瘦身指南
- Laravel symlink() has been disabled for security reasons
- jsp:forward标签介绍
- C#——Windows银行储蓄管理系统
- 队列的定义、循环队列的顺序存储结构及链式存储结构
- flash的Socket连接,服务端用没有平台限制
- 什么软件可以将win窗口进行置顶_【玩转YOGA】第四期:像平板一样使用平板——触屏手势软件GestureSign...
- docker镜像上传
- 【数据挖掘】关联规则挖掘