《zw版·Halcon-delphi系列原创教程》 zw版-Halcon常用函数Top100中文速查手册
Halcon函数库非常庞大,v11版有1900多个算子(函数)。
这个Top版,对最常用的函数,做了中文说明,目前约250条,以后会逐步优化、增减。
目标是,类似常用英文单词500一样,做成《Halcon常用函数300条》、《halcon常用函数500条》等版本,方便大 家学习。
考虑到通用性,函数采用的是Halcon手册格式,没有转成delphi版,请大家注意。
【《zw版·Halcon-delphi系列原创教程》,网址,cnblogs.com/ziwang/】
------------------
1 abs_image,计算图像的绝对值模型 2 add_image,两图像相叠加 g‘ :=, * Mult + Add 3 affine_trans_contour_xld, 对线条LogoContoursTemp进行HomMat2DComplete对应的变换(平移和缩放)。 4 affine_trans_point_3d, 对点进行3D变换。 5 anisotropic_diffusion, 对图像执行各向异性扩散,平滑图像且又保存边缘。 6 area_center_gray, 计算Image图像中Region区域的面积Area和中心 7 area_center_points_xld, 轮廓线所有点计算的中心 8 area_center_xld, 轮廓线所有的区域的中心 9 auto_threshold, 自动阈值分割,根据灰度直方图中两波峰中的波谷取出阈值。 10 background_seg, 将找出的区域根据背景分割成各个连通的区域。 11 bin_threshold,自动阈值分割, Region:黑暗的区域的图像;与auto_threshold, 类似,但只有一个最小值取得仅有一个阈值。 12 binomial_filter,使用binomial滤波器平滑图像。 13 boundary, 获得区域的边界 14 change_domain, 改变Image图像的定义域 15 change_format, 改变Image图像大小,而且ImagePart图像为灰度值图像。 16 char_threshold, 自动阈值分割,阈值根据直方图的波峰取得 17 check_difference, 根据两幅图的不同进行图像分割。 18 clip_contours_xld, 选择一定区域内的线条 19 clip_end_points_contours_xld, 去除线条两端的部分像素。 20 clip_region, 选择一定范围内的区域。 21 clip_region_rel, 选择四边都减去一定像素的区域 22 close_contours_xld, 让不封闭的线条封闭 23 close_edges,关闭边缘 24 close_edges_length, 使用边缘高度图像关闭边缘间隙。输出的区域包含杯关闭的区域。(感觉是对边缘的扩充) 25 closing, 用一个设计好的区域来封闭其它区域。 26 complement, 找到输入区域的补区域。 27 compose3, 将三幅图像合并成一幅图像 28 concat_obj, 将对象合并,可以分类时将属性相同的人为合并成一类。 29 connection,合并所有选定像素触摸相互连通区 30 convert_image_type, 转换图像的格式 31 cooc_feature_image, 计算共生矩阵和推导出灰度特征值 32 cooc_feature_matrix,根据共生矩阵计算灰度特征值 33 copy_image,复制image图像 34 corner_response, 提取图像中的角 35 count_obj,计算 objects 的个数。 36 create_funct_1d_array, 根据数组生成一个函数序列 37 critical_points_sub_pix, 取出图像中的关键点。 38 crop_contours_xld, 提取出一定范围内的线条。 39 crop_domain, 从Image图像中裁剪一个矩形区域。这个矩形的周长最小。 40 crop_domain_rel, 删除相关区域,Top为顶端裁剪的行数,Left,Bottom,Right类似。 41 crop_part, 删除一个矩形图像区域。Row为右上角的列标索引。Width, Height为新图像ImagePart的宽度和高度。 42 crop_rectangle1, 删除一个矩形图像区域。 43 decompose3, 将一幅图像根据RGB值转换成三幅图像。 44 dev_clear_window, 清除视图窗体 45 dev_close_inspect_ctrl, 关闭检测窗口 46 dev_close_window, 关闭活跃的图形窗口。 47 dev_display, 显示图片 48 dev_inspect_ctrl, 打开检测窗口 49 dev_open_window, 打开一个图形的窗口。 50 dev_set_color, 设置显示的颜色 51 dev_set_colored,用交替的颜色显示对象 52 dev_set_draw, 设置显示的区域是填充还是空心的 53 dev_set_line_width, 指定线宽 54 dev_set_part, 设置显示的区域 55 dev_set_shape, 设置显示的区域的形状 56 difference, 取出两个区域中不重叠的部分。 57 dilation_circle, 扩张圆形结构元素的地区 58 dilation_rectangle1, 扩张矩形元素地区 59 disp_3d_coord_system, 根据内参和外参显示3D坐标系 60 disp_circle,显示圆形 61 disp_rectangle1, 显示矩形 62 div_image,两幅图像相除 g‘ := g1 / g2 * Mult + Add 63 dots_image, 取出图像中圆点 64 dump_window_image, 将窗口的内容截图成图像 65 dyn_threshold, 动态阈值分割。 66 edges_color, 根据颜色进行边缘提取 67 edges_color_sub_pix, 精确的亚像素边缘提取(彩色图像) 68 edges_image, 边缘提取 69 edges_sub_pix, 精确边缘提取的亚像素(灰度图像) 70 egion_to_label,将区域Region转换为一幅Lable图像ImageLabel。 71 elliptic_axis_gray,计算Image图像的Region区域的Ra,Rb和Phi。 72 entropy_gray,Image图像中Region区域的计算熵Entropy和各向异性Anisotropy。 73 estimate_noise,从单一图像 Image中估计图像的噪声。 74 expand_gray_ref, 根据灰度和颜色将分离的区域连通。 75 expand_line, 将轮廓拓展成一个跟其灰度相近的区域。 76 expand_region, 根据设定的特征将分离的区域连通。 77 fast_threshold, 根据最大和最小灰度以及面积选出区域 78 fill_interlace, 修改在采集图像过程中造成的两个半幅图像拼接的问题。 79 fill_up, 填补选择区域中空洞的部分 80 fill_up_shape,填充满足给定的图形特征的区域。 81 find_text, 根据设定的模板寻找字符 82 fit_circle_contour_xld, 将线条拟合成圆,得到位置和半径。 83 fit_surface_first_order,计算一阶灰度平面的灰度矩阵和灰度值的逼近参数。 84 fit_surface_second_order,计算二阶灰度平面的灰度矩阵和灰度值的逼近参数。 85 frei_amp, Frei-chen 模板进行边缘检测(振幅) 86 frei_dir, Frei-chen 模板进行边缘检测(振幅和方向) 87 full_domain, 扩张Image图像的定义域到最大。 88 funct_1d_to_pairs, 将数据分别对应赋予一个横坐标。 89 fuzzy_entropy,确定区域Regions的模糊熵 将图像视为模糊集合 90 fuzzy_perimeter,计算Region区域的模糊周长 91 gen_circle_contour_xld, 生成一个圆 92 gen_contour_nurbs_xld, 根据拟合的坐标生成轮廓线 93 gen_contour_polygon_xld, 生成任意多边曲线 94 gen_contour_region_xld, 根据区域和指定的特征生成轮廓线。 95 gen_contours_skeleton_xld, 将系统框架转换成 XLD 轮廓 96 gen_cooc_matrix,生成Image图像Region区域的共生矩阵 97 gen_grid_region, 生成网格区域 98 gen_nurbs_interp, 根据提供的点拟合成曲线的坐标 99 gen_parallel_contour_xld, 根据指定的特征生成相应的平行线。 100 gen_parallels_xld, 找到平行的轮廓线 101 gen_parallels_xld,找到平行的直线 102 gen_polygons_xld, 将线条拟合成多边形。 103 gen_rectangle1, 在区域内部的实心区域得到一个平行于横坐标的最大矩形。 104 gen_region_line, 生成区域线段 105 get_contour_attrib_xld, 得到线上每个点的属性 106 get_contour_global_attrib_xld, 返回线条的全局属性值,当Attrib<0时线条是直线,当Attrib>0时是圆弧。 107 get_contour_xld, 获得线条的各个点的坐标 108 get_domain, 得到图像区域 109 get_grayval, 计算Image图像中坐标为(Row,Column)的点的灰度值Grayval。 110 get_grayval_contour_xld, 提取了轮廓线上所有点的灰度值 111 get_image_pointer1, 计算Image图像的数据指针Pointer,图像类型Type,图像宽度Width和高度Height。Pointer指向了Image data的起点位置。 112 get_image_pointer1_rect, 计算Image图像中定义区域的最小的长方形的区域的指针Pointer,宽度Width,高度Height,VerticalPitch代表Image的Width*,。两个相邻象素的水平距离(以比特计算)HorizontalBitPitch,每像素的比特数BitsPerPixel。 113 get_image_pointer3, 计算彩色图像ImageRGB的参数。 114 get_image_time, 获取图像生成的时间。 115 get_mposition, 获得鼠标坐标 116 get_parallels_xld, 得到平行轮廓线的相关坐标。 117 gray_closing, 灰度值闭操作 118 gray_erosion_rect, 每个点的灰度值用这个点的矩形掩码内最小灰度值代替。 119 gray_histo,获取Image图像Region区域的灰度相对直方图RelativeHisto和绝对直方图AbsoluteHisto。 120 gray_histo_abs,获取Image图像Region区域的灰度绝对直方图AbsoluteHisto。 121 gray_opening, 灰度值开操作 122 gray_projections,计算Region区域在水平方向和垂直方向的灰度值投影。 123 highpass_image, 从高频成分提取的图像。 124 histo_2dim,计算二通道灰度图像的直方图 125 hom_mat2d_identity, 生成一个2D单位矩阵 126 hom_mat2d_scale, 对矩阵进行变换,用于缩放 127 hom_mat2d_translate, 对矩阵进行2D变换,用于平移。 128 hom_mat3d_compose, 将两矩阵相乘 129 hom_mat3d_identity, 生成一个3D单位矩阵 130 hom_mat3d_rotate, 对矩阵进行3D变换,用于旋转。 131 hom_mat3d_to_pose, 将矩阵变换成3D位姿 132 hom_mat3d_translate, 对矩阵进行3D变换,用于平移。 133 hysteresis_threshold, 当大于最大阈值的点取出做为可靠点,最大与最小值之间的点根据与可靠点的关系选出。 134 info_edges, 估计滤波器的宽度 135 intensity,计算region区域的灰度平均值和偏差 136 interjacent, 找到将各个区域分割开的区域 137 intersection, 计算两个区域的交集。 138 intersection_ll, 提取两条交叉直线交叉点的坐标 139 invert_image, 用255减去每个点的灰度值作为这个点新的灰度值。 140 kirsch_amp, 使用 Kirsch 算子计算出边缘(振幅) 141 kirsch_dir, 使用 Kirsch 算子计算出边缘(振幅和方向) 142 laplace, 使用有限差分计算拉普拉斯变换 143 laplace_of_gauss, 拉普拉斯高斯 144 lines_color, 检测图像中颜色线条,并提取出它们的宽度。 145 lines_gauss, 提取图的线条并计算出图的宽度。 146 local_max, 找到比周围灰度值都大的点。 147 local_max_sub_pix, 提取出图像中灰度极大值的坐标 148 local_min, 找到比周围灰度值都小的点 149 local_min_max_funct_1d, 提取出函数序列中的局部最大和最小值。 150 max_image,计算两幅图像每个像素点的最大值 151 mean_image, 对图像应用掩膜进行均值滤波处理,输出为均值滤波后的图像。通过均值平滑图像。 152 measure_circle,提取圆弧线的例子: 153 median_image, 使用不同级别掩码的中值滤波。 154 median_rect, 对图像中值滤波 155 min_image,计算两幅图像每个像素点的最小值 156 min_max_gray, 获得区域内图像的最大和最小灰度值 157 min_max_gray,计算Region区域的最大最小灰度值。 158 mod_parallels_xld, 修补平行的轮廓线 159 moments_gray_plane,计算平面的灰度矩阵和灰度值的逼近参数。 160 mult_image,两幅图像相乘 g‘ := g1 * g2 * Mult + Add 161 nonmax_suppression_dir, 使用方向图像 抑制所有的超过给定最大值的图像灰度值的点 162 obj_diff, 提取两组对象中不同的对象。 163 opening_circle,打开具有圆形结构元素的地区,平滑图像的边界。 164 optical_flow_mg, 计算两幅图像中的视觉差异,用于监控。 165 orientation_points_xld, 被看做点云的轮廓,或多边形的方向。 166 orientation_region, 提取区域的方向 167 overpaint_gray, 将灰度值不相同区域用不同颜色绘制到Image中 168 overpaint_region, 将Region以一个恒定的灰度值绘制到Image图像中 169 paint_gray, 以灰度值将图像绘制到目标Image中 170 paint_region, 将Region以一个恒定的灰度值绘制到Image图像中 171 paint_xld, 将XLD以灰度值绘制到Image图像中 172 partition_dynamic, 根据各个区域的特征将各个区域分割开。 173 plane_deviation,逼近的图象平面计算灰度值偏差 174 polar_trans_image, 把图像由笛卡尔坐标转换成极坐标下图像,及把圆环形的图像区域转换成矩形区域。 175 polar_trans_region_inv, 把图像由极坐标坐标转换成笛卡尔下图像,及把矩形的图像区域转换成圆环形区域。 176 pose_to_hom_mat3d, 将3D位姿转换成一个矩阵。 177 prewitt_amp, 使用 Prewitt 算子计算出边缘(振幅) 178 project_3d_point, 将空间的3D坐标变换到图像坐标 179 read_image, 加载图片 180 rectangle1_domain, 根据矩形得到区域视为Image图像的定义域。 181 reduce_domain,减少定义领域的图像,ImageReduced=Image- Region 182 region_to_bin,将区域Region转换为一幅二进制图像BinImage。 183 region_to_label,将区域Region转换为一幅Lable图像ImageLabel。 184 region_to_mean,绘制ImageMean图像,将其灰度值设置为Regions和Image的平均灰度值。 185 regiongrowing, 区域生长算法,将图象被分割为区域,将图像分割成各个灰度值相近的区域。 186 regress_contours_xld, 计算XLD轮廓,回归线的参数。 187 roberts, 使用 Robert 算子计算边缘 188 robinson_amp, 使用 Robinson 算子计算出边缘(振幅) 189 rotate_image, 将图像按照指定的角度旋转 190 scale_image_max, 增加图像的对比度 191 select_contours_xld, 根据线的特征选择轮廓线。 192 select_gray,根据灰度值选择区域 193 select_obj,选择对象,Index 是指编号,从1开始计数 194 select_region_point, 选择包含指定点的区域 195 select_shape,选择带有某些特征的区域 196 select_shape_proto, 选出具有相似特征的所有区域 197 select_shape_std, 从多个区域选出指定特征相似的区域。如选出面积最大的区域。 198 select_shape_xld, 根据线的形态特征选择轮廓线。 199 select_xld_point, 选择包含指定点的轮廓线。 200 set_grayval, 设置Image图像中坐标为(Row,Column)的灰度值 201 shape_histo_all,用极限值确定特征的直方图。 202 shape_histo_point,获取阈值特征直方图 203 shape_trans, 根据指定的参数对区域的形状进行转换,如转换成正方形等。 204 shape_trans_xld, 将区域的边界根据不同的属性转化成线条 205 skeleton, 计算区域的骨架 Skeleton == Region 206 smallest_circle,最小外接圆。 207 smallest_rectangle1, 最小外接正矩形。 208 smooth_funct_1d_gauss, 对一维数组进行平滑处理。 209 smooth_image, 使用递归滤波器平滑图像。 210 sobel_amp, 使用 Sobel 算子计算出边缘(振幅) 211 sort_index, 找出最大值对应的索引 212 sort_region,根据region位置关系进行排序 213 split_contours_xld, 在主要点分割XLD轮廓。 214 sub_image,对两幅图像做减法 g‘ :=, * Mult + Add 215 sub_image,对两幅图像做减法 g‘ :=, * Mult + Add 216 subset, 从数组Rows先出Min对应序列的数组 217 symm_difference_closed_contours_xld, 提取封闭对称轮廓线的不同部分 218 test_self_intersection_xld, 检测轮廓线本身是否存在交叉点 219 test_subset_region, 测试一个区域是不是在另一个区域中。 220 test_xld_point, 测试提供的点是否被轮廓线包含在内 221 text_line_orientation, 检测具有字符的图像的方向 222 texture_laws,使用Laws文本滤波器过滤图像。 223 threshold, 利用全局阀值分割图像 224 tile_images, 将幅图像合并成一幅图像 225 union2_closed_contours_xld, 从多条轮廓线中合并成封闭的轮廓线 226 union2_closed_polygons_xld, 从多个多边形的轮廓线中提取封闭的轮廓线。 227 union_cocircular_contours_xld, 将属于同一个圆的轮廓线连接起来 228 union_collinear_contours_ext_xld, 连接同线的轮廓线,提取的轮廓比union_collinear_contours_xld更精准。 229 union_collinear_contours_xld, 连接共线的线条。 230 union_cotangential_contours_xld, 231 vector_field_length, 计算向量的长度,得到差异图像。 232 vector_to_proj_hom_mat2d, 根据图像坐标和实际坐标得到坐标的变换关系。 233 watersheds, 从图像中提取风水岭。 234 zero_crossing, 零交点(二次导数)
时间: 2024-10-20 22:53:40