掌握Halcon这些算子案例,halcon基本可以入门

文摘   2025-01-04 02:14   江苏  

Halcon 常 用 算 子 合 集

一、窗体操作

001开启一个窗口:dev_open_windows

002开启一个适应图像的窗口:dev_open_window_fit_image

003获取图像窗口句柄:dev_get_window

004清除图像窗口的内容:dev_clear_window

005关闭活动窗口:dev_close_window

006显示图像:dev_display

007在当前窗口显示文字:dev_disp_text

008在指定窗口显示文字:disp_message

009设置显示字体类型:set_display_font

010设置显示颜色:dev_set_color

011设置轮廓线的线宽:dev_set_line_width

012定义区域填充模式:dev_set_draw

二、图像创建

013读取图像:read_image

014获取图像尺寸:get_image_size

015获取图像采集时间:get_image_time

016获取图像类型:get_image_type

017获取图像得单通道指针:get_image_pointer1

018获取图像得三通道指针:get_image_pointer3

019 RGB图像转换为三分量:decompos3

020三分量合并为RGB图像:compose3

021 RGB转换HSV模型:trans_from_rgb

022单个彩图转灰度图:rgb1_to_gray

023三个分量图转灰度图:rgb3_to_gray

三、B00L分析

1、阈值分割

024全局阈值分割:threshold(光照良好时使用)

025自动全局阈值分割:binary_threshold(黑白分明时使用)

026局部动态阈值分割:mean_image+

027                  dyn_threshold(光照不均匀使用)

2、区域集合运算及变换

028合并多个区域:union1(输入为一个变量多个区域)

029合并两个区域:union2(输入仅限两个图形变量,即两个区域)

030区域求差集:difference

031区域求交集:intersection

032区域打散:connection

033区域填充:fill_up

034按型形状区域填充:fill_up_shape

035区域形状变换:shape_trans

036抠图:reduce_domain

3、形态学处理

037开运算:opening(去除小点杂质)

038闭运算:closing(连接区域)

039膨胀:dilation

040腐蚀:erosion

041边界:boundary

4、特征提取

042求面积及中心坐标:area_center

043提取目标区域:select_shape

044提取内接___特征:inner_

045提取外接___特征:smallest

046读取区域所有特征参数:region_features

5、ROI区域

047窗口画圆:draw_circle

048生成圆区域:gen_circle

049窗口画矩形1:draw_rectangle1(不带角度)

050窗口生成矩形区域1:gen_rectangle1(不带角度)

051窗口画矩形2:draw_rectangle2(带角度)

052窗口生成矩形区域2:gen_renctangle2(带角度)

053窗口画椭圆:draw_ellipse

054窗口生成矩形区域:gen_ellipse

055窗口画多边形区域:draw_region

056窗口画直线:draw_line

057窗口生成直线:gen_region_line

058窗口生成一个点:gen_region_points

6、保存区域和读取区域

059保存区域:write_region

060读取区域:read_region

7、空对象处理

061生成一个空得区域对象:gen_empty_rengion(只能填入一个对象)

062生成一个空得对象:gen_empty_obj(可以填入多个对象)

063连接两个区域:concat_obj

8、区域间得距离

064点到点:distance_pp

065点到线:distance_pl

066点到区域得最长/最短距离:distance_pr

067直线到区域得最长/最短距离:distance_pr

068区域到区域得最短距离:distance_rr

9、几何变换

069平移:move_region(区域平移后相减可得边界)

070缩放:zoom_region

071镜像:mirror_region

072倒置:transpose_region

073极坐标与笛卡尔坐标得转换:polar_trans_region

074                           polar_trans_region_inv

10、仿射变换

075创建二维变换矩阵:hom_mat2d_identity

076创建平移变换矩阵:hom_mat2d_translate

077创建缩放变换矩阵:hom_mat2d_scal

078区域任意仿射变换:affine_trans_region(根据仿射变换矩阵进行)

079刚性仿射变换:vector_angle_to_rgid(根据点坐标进行变换)

080扩展图像变换:affine_trans_image(根据放射变换矩阵)


四、图像一维码识别

081创建条形码模型:creat_bar_code_model

082设置条形码搜索参数:set_bar_code_param

083搜索条形码:find_bar_code

084清楚条形码模型:clear_bar_code_model


五、图像二维码识别

085创建二维码模型:creat_data_code_2d_model

086设置参数:set_bar_code_param

087搜索二维码:find_data_code_2d



六、OCR识别

1、神经网络多层感知识别

088生成识别分类器句柄:read_ocr_class_mlp

089识别单个字符:do_ocr_single_class_mlp

090识别多个字符:do_ocr_multi_class_mlp

091关闭分类句柄:clear_ocr_class_mlp

2、TEXT分割识别

092创建text识别模型:creat_text_model_reader

093设置字符参数:set_text_model_param

094查找字符识别:find_text

095获取结果:get_text_object

096           get_text_result

097释放内存:clear_text_result

098           clear_text_model

3、使用神经网络多层感知训练字符(例程:bottlet.hdev)

099生成训练用得文件:append_ocr_trainf将区域,图像及对应得字符装载到该文件

100创建训练模型并进行训练:creat_ocr_class_mlp

101                        trainf_ocr_class_mlp

102保存训练结果到训练文件中:write_ocr_class_mlp

103清空缓存:clear_ocr_class_mlp


七、图像滤波及预处理

1、图像滤波

104均值滤波:mean_image

105中值滤波:median_image,median_rect

106秩序值滤波:rank_image,rank_rect

107高斯滤波:gauss_filter(局部,小点)

108图像平滑:smooth_image(使用各种滤波器平缓图像)

2、图像增强

109均值增强:emphasize(亮更亮,暗更暗)

110一致性增强:coherence_enhancing_diff

111比例增强:scale_image_max

112冲击滤波:shock_filter

3、图像得算术运算

113图像加法:add_image

114图像剑法:sub_image

115图像乘法:mult_image

116图像除法:div_image

117图像翻转:invert_image

118图像灰度取大:max_image

119图像灰度取小:min_image

120图像灰度比例拉伸:scal_image

4、图像得几何变换

121仿射变换:affine_trans_image

122镜像变换:mirror_image

123投影变换:projective_trans_image

    124          projective_trans_image_size

125极坐标变换:polar_trans_image_ext

126图像旋转:rotate_image

127缩小图像:zoom_image_size

八、XLD边缘轮廓处理

1、XLD的创建

128生成圆轮廓:gen_circle_contour_xld

129生成椭圆轮廓:gen_ellipse_contour_xld

130生成矩形轮廓:gen_rectangle2_contour_xld

131生成箭头轮廓:gen_arrow_contour_xld

132生成十字叉轮廓:gen_cross_contour_xld

133生成多边形轮廓:gen_contour_polygon_xld

134                gen_contour_polygon_rounded_xld

2、使用其他形式转换为轮廓

135将区域边缘生成轮廓:gen_contour_region_xld

136将骨骼生成轮廓:gen_parallels_xld

3、使用边缘提取生成轮廓

137阈值分割提取边缘:threshole_sub_pix

138基于像素精度的边缘提取:带通滤波:bandpass_image

139索贝尔放大器:sobel_amp

140多种可选择的滤波器:edges_image

141基于亚像素边缘提取:edges_sub_pix

142                    lines_guss

143                    edges_color_sub_pix

144                    lines_color

145                    lins_facet

4、轮廓特征值提取及筛选

146根据特征选在轮廓:select_contour_xld

147                 select_shape_xld(两者可选择的特征不同)

5、轮廓变换

148对轮廓排序:sort_contours_xld

149平滑轮廓:smooth_contours_xld

150形状变换:shape_trans_xld

151封闭轮廓:close_contours_xld

152修剪出矩形区域的轮廓:clip_contours_xld

153修剪并封闭矩形区域轮廓:crop_contours_xld

6、轮廓分割

154按直线和圆弧的特性分割轮廓:segment_contours_xld

7、轮廓合并

155合并端点临近的轮廓:union_adjacent_contours_xld

156合并位于同一条直线的轮廓:union_collinear_contours_xld

157合并属于同一个圆上的轮廓:union_cocircular_contours_xld

158合并具有切线关系的轮廓:union_cotangential_contours_xld

159合并具有相似方向的轮廓:union_straight_contour_xld

8、拟合

160拟合为圆:fit_circle_contour_xld

161拟合为直线:fit_line_contour_xld

162拟合为矩形:fit_rectangle2_contour_xld

163拟合为椭圆:fit_ellipse_contours_xld

9、获取轨迹的图像数据

164获取轮廓坐标:get_contour_xld

165获取轮廓点的特性:get_contour_attrib_xld

10、轮廓的保存和读取

166保存轮廓:write_contour_xld_dxf

167读取轮廓:read_contour_xld_dxf

11、对轮廓进行仿射变换

168 affine_trans_contour_xld

12、轮廓的几何变换

169生成对应的平行轮廓:gen_parallel_contour_xld

170极坐标转换:polar_trans_contour_xld_inv

171投影变换:projective_trans_contours_xld

13、轮廓集合运算

172闭合轮廓的交集:intersection_closed_cointours_xld

173闭合轮廓的差:difference_closed_contours_xld

174合并闭合轮廓:union2_closed_contours_xld

九、图像测量技术

1、测量算子

175创建测量对象:gen_measure_rectangle2

176              gen_measure_arc

177提取直线边缘对:measure_pairs(结果成对出现)

178提取边缘位置:measure_pos(结果顺序出现)

2、轮廓的直接测量

179  distance_cc

180  distance_sc

181  distance_lc

182  distance_pc

3、测量角度

183两个直线的角度:angle_ll

184计算直线与其中一坐标轴的角度:angle_lx

十、模板匹配

1、基于形状的模板匹配

185创建边缘模板:creat_shape_model

186创建边缘轮廓模板:creat_shape_model_xld

187查找边缘模板:find_shape_model

188创建具有缩放比的模板:creat_scaled_shape_model

189查找具有缩放比的模板:find_scaled_shape_model

190查看模板图像的模板区域:inspect_shape_model

191获取模板轮廓get_shape_model_contours(得到轮廓进行仿射变换作为显示和对比)

192获取模板位置:get_shape_model_origin(用来进行仿射变换的起始点)

193保存模板:write_shape_model

194读取模板:read_shape_model

195清楚模板:clear_shape_model

2、基于相关性的模板匹配

196创建模板:creat_ncc_model

197查找模板:find_ncc_model

3、基于灰度的模板匹配

198把灰度值添加到区域中:add_channels

199寻找一个模板和一个图像的最佳匹配:best_match

十一、相机标定及畸变矫正

200生成标定板描述文件:gen_caltab

201通过有畸变的内参求出无畸变的内参:

change_radial_distortion_cam_par

202求出有畸变的内参和无畸变的内参之间的映射关系:

gen_radial_distortion_map

203映射图像:map_image

204将像素坐标转为世界坐标:image_points_to_world_plane

十二、其他

弧度转角度:tuple_deg

粉丝最爱前十文章(以下文章点击即可进去)

国内外机器视觉硬件仿制最多的企业,机器视觉行业最奇葩龙头企业:基恩士,基恩士这个名称意味着全球视觉检测创新与卓越

明明用的不是自己机器视觉软件,甚至是盗版,机器视觉公司为什么还要申请那么多专利?

机器视觉行业最大的污点是什么?99%机器视觉公司存在测量项目数据造假,很遗憾,本人没有恪守技术的本分

机器视觉工程师能不能去海康做机器视觉?

机器视觉兄弟们还有几个月就拿到年终奖了,但我想跑路了

海康Visionmaster加密狗淘宝闲鱼为何如此便宜?是二手海康加密狗吗?是盗版加密狗吗?海康管理如此混乱不堪吗?卖家犯法?

下一批就是外包机器视觉公司兄弟们,机器视觉兄弟们可能还不知道,日结,灵活就业的兄弟们正在连夜找工作!

机器视觉公司为什么公布自己的破解软件或Lincense?为什么机器视觉破解软件越来越少,版本越来越旧?多数是国外企业机器视觉软件

这是什么牛马机器视觉公司
机器视觉兄弟们还有几个月就拿到年终奖了,但我想跑路了
机器视觉工程师能不能去海康做机器视觉?
海康Visionmaster加密狗淘宝闲鱼为何如此便宜?是二手海康加密狗吗?是盗版加密狗吗?海康管理如此混乱不堪吗?卖家犯法?
你被骗了吗?别拿低价诱骗机器视觉小白,4000元机器视觉系统怎么来的?机器视觉工程师自己组装一个2000元不到,还带深度学习
有六家机器视觉公司今年11月份初放假到明年春节后,除夕不放假看住企业不跑路,不倒闭,明年大家日子会越来越甜

机器视觉--康耐视技术文章(以下文章点击即可进去):

1.机器视觉康耐视Visionpro-脚本常见的编辑编译错误和运行错误及警告性错误,调试解决办法
2.机器视觉康耐视visionpro-CogFitLineTool拟合直线错误上的理解
3.康耐视Visionpro常见问题汇总3-视觉人机器视觉粉丝-千问之二十七解答
4.康耐视visionpro破解版满天飞,那么如何查询康耐视Visionpro加密狗支持哪些工具
5.C#与康耐视Visionpro-CogRecordDisplay控件显示及图片保存
6.康耐视Visionpro-容器类工具ToolBlock-C# Advanced Script规范脚本-一般项目两种脚本执行思路
7.康耐视Visionpro常见问题汇总2-视觉人机器视觉粉丝-千问之六十五解答
8.康耐视Visionpro-视觉人机器视觉粉丝-千问之六十五解答

机器视觉--Halcon技术文章(以下文章点击即可进去):

1.机器视觉Halcon-焊点提取排序设计思路一

2.机器视觉Halcon-菜单助手读取图片方式及注意点

3.机器视觉Halcon快速调试方法-异常判断,异常显示,异常监控,异常获取方法

视觉人机器视觉教学
分享机器视觉行业知识点和热门话题,拓展就业机会信息。同时提供机器视觉培训,是隶属于视觉人机器视觉培训机构下的公众号
 最新文章