Halcon算子
翻译和讲解Halcon的不同算子的用法和区别
无锡伶俐科技
工程师创业,有团队;
12年工作经验,当前做工业视觉和工控软件;
抖Y:伶俐科技
展开
-
Halcon 算子 kirsch_amp
kirsch_amp (Operator)总用:利用Kirsch算子提取边缘;kirsch_amp(Image : ImageEdgeAmp : : )参数翻译(顺序同时上)输入图像、输出图像描述:Kirsch算子1、R.Kirsch提出来的一种边缘检测新算法,他采用8个模板对图像上的每一个像素点进行卷积求导数,这8个模板代表8个方向,对图像上的8个特定边缘做出最大响应,运算中取最大值作为图像的边缘输出。2、同类还有梯度算子、laplacian-gauss算子、ca.原创 2021-02-06 15:34:18 · 861 阅读 · 0 评论 -
Halcon 算子 info_edges
info_edges (Operator)作用:预估算子edges_image中使用过滤器的掩膜宽度;info_edges( : : Filter, Mode, Alpha : Size, Coeffs)参数翻译(顺序同上):输入过滤器名称、输入模式('edge'提取边缘, 'smooth'平滑)、输入过滤参数(0.2 ≤ Alpha ≤ 50.0)、输出过滤器宽度、输出多项式系数描述:1、Filter的主要参数有以下几种:'deriche1', 'lans.原创 2021-02-01 11:13:35 · 394 阅读 · 0 评论 -
Halcon 算子 hysteresis_threshold
hysteresis_threshold (Operator)作用:使用滞后阈值分割图像;hysteresis_threshold(Image : RegionHysteresis : Low, High, MaxLength : )参数翻译(顺序同上顺序):输入图像、输出区域、输入参数低阈值、输入参数高阈值、输入最大距离(潜在点离安全点的最大距离)1 ≤ MaxLength描述:输入图像上的像素点,只要灰度值大于输入参数High的点,都会被选择;小于输入参数..原创 2021-02-01 08:39:37 · 914 阅读 · 0 评论 -
Halcon 算子 frei_amp
frei_amp (Operator)frei_amp — Detect edges (amplitude) using the Frei-Chen operator.作用:使用Frei-Chen算法检测边缘frei_amp(Image : ImageEdgeAmp : : )参数翻译(顺序对应以上参数顺序):输入图像、输出梯度图像描述:frei_amp计算一副图像的一阶导数的近似值并用作滤波检测器,滤波器的掩膜如下: A = 1 ...原创 2021-01-29 11:09:38 · 533 阅读 · 0 评论 -
Halcon 算子 edges_color
edges_color (Operator)edges_color — Extract color edges using Canny, Deriche, or Shen filters.作用:利用过滤器提取彩色图片的边缘;edges_color(Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )参数翻译(顺序对应以上参数顺序):输入图像、输出梯度图像、输出边缘直方图、输入滤波器('canny', 'de.原创 2021-01-29 10:31:09 · 690 阅读 · 0 评论 -
Halcon 算子 rgb1_to_gray
rgb1_to_gray (Operator)rgb1_to_gray — Transform an RGB image into a gray scale image.作用:把RGB图像转换成灰度图像。rgb1_to_gray(RGBImage : GrayImage : : )参数翻译(顺序对应以上参数顺序):输入三通道RGB图像、输出灰度图像描述:1、rgb1_to_gray算法将会使用如下公式进行转化:gray = 0.299 * red + 0.58..原创 2021-01-29 10:04:37 · 4368 阅读 · 3 评论 -
Halcon 算子 edges_image
edges_image (Operator)edges_image — Extract edges using Deriche, Lanser, Shen, or Canny filters.作用:利用过滤器提取图片边缘;edges_image(Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )参数翻译(顺序对应以上参数顺序):输入图像、输出梯度图像、输出边缘直方图、输入滤波器(常用'canny', 'sobe原创 2021-01-29 09:55:54 · 3669 阅读 · 0 评论 -
Halcon 算子 convert_image_type
作用:转换图像类型;参数翻译(顺序对应以上参数顺序):输入图像、输出图像、输入新类型('int1', 'int2', 'uint2', 'int4', 'byte', 'real', 'direction', 'cyclic', 'complex')描述:convert_image_type将任意类型的图像转换为任意的新图像类型,如果从较大的灰度值范围转换到较小的灰度值范围(例如,从'int4'到'byte'),过大或过小的值将被简单地“剪切”。如果结果图像...原创 2021-01-28 10:04:51 · 3006 阅读 · 0 评论 -
Halcon 算子 derivate_gauss
作用;将图像和高斯函数的导数求卷积;高斯函数在图像处理中用作预平滑核;卷积是两个变量在某范围内相乘后求和的结果。参数翻译(顺序对应以上参数顺序):输入图像、输出图像、输入平滑系数(0.2 ≤ Sigma ≤ 50.0)、输入需要计算的特征或者导数、描述:derivate_gauss将图像与高斯函数的导数进行卷积,并计算由此推导出的各种特征。如果在Sigma中传递一个值,那么在列和行方向上的平滑量是相同的。如果在Sigma中传递两个值,第一个值指定在列方向上的...原创 2021-01-28 09:58:08 · 3891 阅读 · 2 评论 -
Halcon 算子 laplace_of_gauss
作用:计算高斯拉普拉斯算子;高斯拉普拉斯算子又称为LOG(Laplacian of Gaussian)算子,是在高斯函数的基础上再利用拉普拉斯算子提取边缘得出的一个算子。拉普拉斯算子是一种高通滤波器,是影像灰度函数在两个垂直方向二阶偏导数之和。在离散数字影像的情况下,直接用影像灰度级的二阶差分代替连续情形下的二阶偏导数,对噪声很敏感,在提取边缘时往往会出现伪边缘响应。为克服拉普拉斯算子的不足,宜先对数字影像进行低通滤波,抑制噪声。高斯函数是一种很好的归一化低通滤波器,可用于对数字影像进行低通滤波..原创 2021-01-27 16:57:16 · 2111 阅读 · 0 评论 -
Halcon 算子 zero_crossing
作用:从一副图片中提取零交叉点;图像中的零交叉点:所谓零交叉点,是指在正弦函数图像中的过零点,也就是上一刻为正,下一刻就变成负的那个点,所以就是x轴上的点了。但是在图像中的定义是,图像中灰度值为0的点,以及那些4-邻域中至少有一个点的灰度值和该点的灰度值有不同符号的那些点。其实更深刻地理解,就是二阶导数一个正值点和一个负值点相连之后与x轴的交点,所以这个点代表了二阶导数从正到负的转变,这一转变代表了一阶导数的急剧变化,从而对应了图像中灰度值的剧烈变化。参数翻译(顺序对应以上参数...原创 2021-01-27 16:47:44 · 1437 阅读 · 0 评论 -
Halcon 算子 diff_of_gauss
作用:高斯拉普拉斯算子操作;高斯拉普拉斯算子又称为LOG(Laplacian of Gaussian)算子,是在高斯函数的基础上再利用拉普拉斯算子提取边缘得出的一个算子。拉普拉斯算子是一种高通滤波器,是影像灰度函数在两个垂直方向二阶偏导数之和。在离散数字影像的情况下,直接用影像灰度级的二阶差分代替连续情形下的二阶偏导数,对噪声很敏感,在提取边缘时往往会出现伪边缘响应。为克服拉普拉斯算子的不足,宜先对数字影像进行低通滤波,抑制噪声。高斯函数是一种很好的归一化低通滤波器,可用于对数字影像进行低通滤波..原创 2021-01-27 16:32:40 · 1092 阅读 · 0 评论 -
Halcon 算子 close_edges
作用:使用边缘振幅图像闭合边缘间隙振幅图像的获取可以通过算子sobel_amp来获取原创 2021-01-24 14:11:44 · 653 阅读 · 0 评论 -
Halcon 算子 gen_contours_skeleton_xld
作用:转换骨架到XLD轮廓;参数翻译(顺序对应以上参数顺序):输入骨架、输出轮廓、输入提取的轮廓线包含的最小的点数、输入过滤模式('filter', 'generalize1', 'generalize2')描述:1、该算法首先尝试将区域转换为只包含8邻域内的线段;2、第二步标记连接点;3、之后,gen_contours_骨架_xld尝试生成以结点或端点结束的轮廓‘4、将返回所有至少有参数Length长度的轮廓点;5、如果Mode = 'filte...原创 2021-01-24 13:32:28 · 3954 阅读 · 0 评论 -
Halcon 算子 skeleton
作用:计算一个区域的骨架参数翻译(顺序对应以上参数顺序):输入区域、输出区域骨架描述:骨架的构造方式是这样的:它上的每个点都可以被看作是一个半径最大的圆的中心点,同时仍然完全包含在这个区域内,提取骨架常规的作用是为了提取XLD轮廓,后续的算子可以使用gen_contours_skeleton_xld ,来提取轮廓gen_contours_skeleton_xld 的详细解释请查看的我的专栏Halcon算子...原创 2021-01-24 11:16:31 · 5345 阅读 · 0 评论 -
Halcon 算子 bandpass_image
作用:使用带通滤波器提取边缘。参数翻译(顺序对应以上参数顺序):输入图片、输出图片、输入滤波类型(目前仅有'lines'模式)描述:1、该算子对图像应用带有卷积掩膜的线性滤波器;2、该算子和sobel_amp边缘提取操作大不相同,边缘操作提取的是所有满足条件的边缘,该算子提取的是线条3、使用该算子时,图像边缘的灰度值被镜像,溢出的灰度值会被舍弃;...原创 2021-01-24 11:06:21 · 437 阅读 · 0 评论 -
Halcon 算子 fill_up 和 fill_up_shape
作用:填充区域内的孔洞参数翻译(顺序对应以上参数顺序):输入包含孔洞的区域、输出没有孔洞的区域描述:区域的数量保持不变,邻域的类型通过算子set_system('neighborhood',<4/8>)设置。作用:使用给定形状填充孔洞;参数翻译(顺序对应以上参数顺序):输入包含孔洞的区域、输出没有孔洞的区域、输入类型('anisometry', 'area', 'compactness', 'convexity', 'inne...原创 2021-01-24 10:28:30 · 4214 阅读 · 0 评论 -
Halcon 算子 background_seg
作用:确定给定区域的连通域;参数翻译(顺序对应以上参数顺序):输入区域、输出连接域区域描述:算子background_seg通常在边缘提取操作之后使用,这样来确定哪些区域是被边缘包围的。连通域概念:(来源于百度百科)定义:复平面上的一个区域G,如果在其中任做一条简单闭曲线,而闭曲线的内部总属于G,就称G为单连通区域。一个区域如果不是单连通区域,就称为多连通区域。描述:区域:平面点集D称为区域,如果它满足如下两个条件:(1)D是一个开集;(2)D...原创 2021-01-24 10:05:37 · 585 阅读 · 0 评论 -
Halcon 算子 clip_region
作用:把一个区域剪切成矩形;参数翻译(顺序对应以上参数顺序):输入区域、输出剪切后的矩形区域、输入矩形区域的左上角行坐标、输入矩形区域的左上角列坐标、输入矩形区域的右下角行坐标 0 ≤ Row2 ≤ 511 (lin) 、输入矩形区域的右下角列坐标 0 ≤ Column2 ≤ 511 (lin)描述:算子clip_region通过四个坐标点把输入区域剪切成一个矩形区域。clip_region的效率比通过交集生成矩形的区域的方式要高很多。...原创 2021-01-24 09:41:35 · 2532 阅读 · 0 评论 -
Halcon 算子 gen_grid_region
作用:使用线或者像素创建一个区域;参数翻译(顺序对应以上参数顺序):输出区域、输入参数行间距(0 ≤ RowSteps ≤ 512 (lin))、(RowSteps > 1 || RowSteps == 0)、输入参数列间距(0 ≤ ColumnSteps ≤ 512 (lin))、(ColumnSteps > 1 || ColumnSteps == 0)、输入创建类型('lines', 'points')、输入参数总宽度(1 ≤ Width ≤ 1024 (...原创 2021-01-24 09:33:14 · 965 阅读 · 1 评论 -
halcon 算子 gray_tophat
作用:使用结构元素对图像进行顶帽变换;顶帽变换定义:一副图像和它的开运算结果的差,称为顶帽变换;与顶帽对应的是底帽变换;底帽变换定义:一副图像的闭运算和这幅图像的差,称为黑帽变换;不管是顶帽还是底帽变换主要目的都是为了得到一个背景均匀的图像参数翻译(顺序对应以上参数顺序):输入图像、输入结构元素(可以使用gen_disc_se等算子来生成不同的结构元素)、输出变换后的图像描述:1、输入图像和输入的结构元素的类型必须相同;2、输入图像 i 和输入...原创 2021-01-23 11:01:17 · 993 阅读 · 0 评论 -
Halcon 算子 gen_disc_se
作用:为后期灰度形态学处理生成椭圆结构;参数翻译(参数翻译对应以上参数顺序):输出生成的元素结构、输入像素类型('byte', 'real', 'uint2')、输入结构元素的宽度(0 ≤ Width ≤ 511 (lin))、输入结构元素的高度(0 ≤ Width ≤ 511 (lin))、输入结构单元的最大灰度值描述:1、参数Type决定了后期需要处理的图像的类型,他们的类型必须匹配;2、参数width和height决定了椭圆的两个轴的长度;3、参...原创 2021-01-23 10:32:26 · 846 阅读 · 0 评论 -
Halcon 算子 sub_image add_image mult_image div_image
作用:两个图片相减;参数翻译(顺序对应以上参数顺序):输入参数需要被减的图片\/原创 2021-01-23 09:31:30 · 1962 阅读 · 0 评论 -
Halcon 算子 dual_rank
作用:参数翻译(顺序对应上面参数顺序):输入图像、输出图像、输入掩膜形状、输入掩膜半径1 ≤ Radius ≤ 101、输入滤波模式:0对应开运算,50对应中值运算,100对应闭运算 取值范围:0 ≤ ModePercent ≤ 100、输入边界处理参数('mirrored', 'cyclic', 'continued', 0, 30, 60, 90, 120, 150, 180, 210, 240, 255)描述:算子dual_rank对所有输...原创 2021-01-18 15:51:34 · 913 阅读 · 0 评论 -
Halcon 算子 scale_image_max
作用:把图像的灰度值缩放到0-255范围内;参数翻译(顺序对应上面参数顺序):输入图像、输出图像描述:算子scale_image_max计算原始图像灰度值的最小值和最大值,并将原始图像的灰度值缩放到0-255范围内。这样就可以充分的利用值范围,不同灰度值的数量并没有发生变化,但是总体的视觉效果得到了增强;'real'、'int2'、'uint2'、'int4'和'int8'类型的图像的灰度值被缩放到0到255范围内,并返回'byte'类型的图像。...原创 2021-01-18 10:41:19 · 4987 阅读 · 3 评论 -
Halcon 算子 closing_circle
作用:使用圆形结构元素来闭合一个区域;参数翻译(顺序对应上面顺序):输入区域、输出结果区域、输入使用的圆形结构的圆半径0.5 ≤ Radius ≤ 511.5 (lin)描述:基本类似于算子closing,首先平滑轮廓的边界,然后只要是在区域内并且小于输入圆形半径的孔都会被闭合,如下图,输入参数radius分别为100、50、20、10;closing_circle操作被定义为一个扩张后接一个Minkowski减法,两者都具有相同的圆形结构元素。示例算子可以参考h...原创 2021-01-18 10:11:44 · 6201 阅读 · 1 评论 -
Halcon 算子 Orientation_region
作用:计算区域的方向;参数翻译(顺序对应上面参数顺序):输入区域、输出角度(- pi <= Phi && Phi < pi)描述:算子orientation_region用来计算区域的方向,该算子主要基于算子elliptic_axis来获取方向,此外,此该算子还计算了轮廓上离区域重心最远的点的距离,在旋转坐标系统中,如果这个点的纵坐标小于重心的纵坐标,则角度需要加上π的值。...原创 2021-01-18 09:31:17 · 2478 阅读 · 0 评论 -
Halcon 算子 complement
我的专栏Halcon算子会持续更新,重点翻译和讲解所有Halcon算子,整个专栏和Halcon实例分析向对应,后期会推出Opencv算子翻译和实例分析 作用:返回一个区域的补集;参数翻译(参数顺序对应上面顺序):输入区域、输出区域(RegionComplement == Region)概念补充:描述:使用算子Complement来计算输入区域的补集,如果'clip_region'的系统标志为'false'(参见我的博客专栏Halcon算子set_sys...原创 2021-01-13 11:06:07 · 3200 阅读 · 0 评论 -
Halcon 算子 intersection
作用:计算两个区域的交集。 算子翻译(对应以上参数顺序): 输入区域1、 输入区域2、 输出区域(RegionIntersection <= Region1) 描述:算子intersection计算两个区域(这两个区域中可以包含很多个小区域)的交集,Region1中的每个区域都和Region2中的每个区域进行相交;Region1中的区域在和Region2中的区域相交之前,Region2中的区域必须和并成一个区域;交集后的区域中的区域顺序和R...原创 2021-01-13 10:00:33 · 7787 阅读 · 0 评论 -
Halcon 算子 mean_n
作用:多通道图像的平均灰度值。参数翻译(对应以上参数顺序):输入图像(多通道)、输出图像描述:算子mean_n生成所有通道逐像素的平均值,对于每个坐标点,将计算坐标轴上所有灰度值的总和,结果是灰色值的平均值(和除以通道的数量),输出图像有一个通道。...原创 2021-01-13 09:29:03 · 1359 阅读 · 0 评论 -
Halcon 算子 Channels_to_Image
作用:把单通道图像转换成多通道图像;参数翻译(对应上看参数顺序):输入图像(是一个图像数组,几个单通道图像)、输出图像描述:算子channels_to_image是将几个单通道图像转换成多通道图像,输出图像是输入图像的交集,多通道映像不会被分配新的存储,相反,创建的多通道图像只是包含对现有输入图像的引用。...原创 2021-01-12 09:11:08 · 1128 阅读 · 0 评论 -
Halcon 算子 expand_gray
作用:填充区域间的间隙或者分割重叠区域(主要依据灰度值或者色差);参数翻译(对应上看参数顺序):输入区域、输入图像、输入不发生扩张的区域、输出结果区域、输入迭代次数(1 ≤ Iterations ≤ 500 (lin))、输入模式('image', 'region')、输入区域边界上的灰度值或颜色与待扩展候选区域之间的最大差异(1 ≤ Threshold ≤ 255 (lin));描述:...原创 2021-01-10 13:58:39 · 2456 阅读 · 3 评论 -
Halcon 算子 select_shape
作用:借助形状特征选择区域;参数翻译(对应以上参数顺序):输入区域、输出满足条件的区域、输入参数形状特征('anisometry', 'area', 'area_holes', 'bulkiness'等)、输入参数关系符('and', 'or')、输入参数下限值(0.0 ≤ Min ≤ 99999.0)、输入参数上限值(Max >= Min 并且0.0 ≤ Max ≤ 99999.0);描述:算子select_shape根据形状特征选择区域,对于...原创 2021-01-10 10:41:54 · 22752 阅读 · 5 评论 -
Halcon 算子 inner_circle
作用:计算给定区域的最大内接圆;参数翻译(对应上面给定参数顺序):输入给定区域、输出中心行坐标、输出中心列坐标、输出半径;描述:算子inner_circle确定给定区域的最大内接圆,这是完全适合这个区域的最大的离散圆区域,如果圆的位置不明确,则返回“第一个可能的”位置(尽可能左上角);注意:如果一个区域有几个内接圈,则只返回最左上角的内接圆(根据中心坐标确定)。...原创 2021-01-10 10:11:03 · 2855 阅读 · 0 评论 -
Halcon 算子 smallest_circle
作用:计算一个给定区域的最小外接圆;参数翻译(对应上面参数顺序):输入给定区域、输出中心行坐标、输出中心列坐标、输出外接圆半径;描述:算子smallst_circle确定区域的最小圆周,在包含给定区域的圆中,面积最小的圆,最小的圆的中心坐标和半径会被返回。注意:此计算是基于区域像素的中心坐标。考虑到像素不只是无限小的点,而是有一定的面积,计算出的半径在返回给radius之前会扩大0.5,在大多数情况下,是适用的,然而,在最坏的情况下(像素对角...原创 2021-01-10 09:37:01 · 5202 阅读 · 0 评论 -
Halcon 算子 bulkiness
作用:从椭圆参数中提取形状特征参数翻译(对应上面参数顺序):输入区域、输出参数等距(在圆= 1.0的情况下,Anisometry >= 1.0)、输出蓬松性、输出结构因子;描述:算子计算给定区域的三种形状特征:等距、粗大和结构因子,具体计算公式如下:A是给定区域的面积,Ra和Rb是椭圆的长轴半径和短轴半径;椭圆的长轴和短轴的获取可以查看算子elliptic_axis,面积A可以查看算子area_center...原创 2021-01-10 09:10:19 · 567 阅读 · 0 评论 -
Halcon 算子 elliptic_axis
作用:计算等效椭圆;参数翻译(对应以上参数顺序):输入区域、输出主半径(Ra >= 0.0)、输出次半径(Rb >= 0.0 && Rb <= Ra)、输出主半径和X轴的夹角(以弧度为单位 - pi / 2 < Phi && Phi <= pi / 2);描述:算子elliptic_axis计算与输入区域具有相同方向和相同宽高比的椭圆的半径Ra和Rb以及方向Phi,多个输入区域可以作为数组传...原创 2021-01-08 15:27:41 · 2132 阅读 · 0 评论 -
Halcon 算子 rectangularity
作用:计算区域和矩形的相似度;参数翻译(对应以上参数顺序):输入区域、输出相似度因子(0 <= Rectangularity && Rectangularity <= 1.0)、描述:算子rectanglularity计算输入区域和矩形的相似度,具体计算过程如下:(1)、首先计算和输入区域具有一样的一阶矩和二阶矩的矩形F;(2)、再对矩形F和输入矩形的面积进行求差值,然后进行归一化;矩:在数学和统计学中,...原创 2021-01-08 14:54:18 · 1680 阅读 · 2 评论 -
Halcon 算子 convexity
作用:区域凸度的形状因子;参数翻译(对应以上参数顺序):输入区域、输出凸度因子(Convexity <= 1)、描述:算子convexity计算每个输入区域的凸度,具体计算过程如下:如果凸包的面积是Fc,该区域的原始面积是Fo,则定义形状因子C为:如果区域是凸的,形状因子C为1(例如:矩形、圆形等)。如果有压痕或孔洞,则C小于1,请参考如下图:...原创 2021-01-08 14:02:41 · 1823 阅读 · 0 评论 -
Halcon 算子 compactness
作用:区域紧凑度的形状因子;参数翻译(对应以上参数顺序):输入区域、输出紧凑值(Compactness >= 1.0 || Compactness == 0)、描述:算子compactness计算输入区域的紧凑度,具体计算过程如下:如果L是轮廓线的长度, F是区域的面积,则形状因子C定义为:如果区域较长或有孔洞,则C大于1并且这种近似误差对于小区域要比对于大区域要大。密度计算和圆度其实是很相近的,都是以圆为基础,如果是圆,紧密度也是1,圆度也...原创 2021-01-08 13:50:12 · 2660 阅读 · 2 评论