《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, 零交點(二次導數)
