Halcon示例程序解读与剖析
文章平均质量分 89
此专栏是在学习HALCON过程中,尤其是对初学者来说,对HALCON算子不够熟悉,而导致的学习过程中学习进度慢,学习困难等问题。此专栏的文章,对算子的用法添加了注释,对各个例子的处理过程、思路进行解读和介绍。真心地希望能够在文章创造这个过程中提升自己,更希望能够帮助越来越多的人。
小邢同学
自动化设备上位机软件工程师、视觉处理算法工程师、上位机运动控制工程师。目前使用C#与MFC编写上位机,使用运动控制卡进行运动控制,工业相机做视觉处理;共同构成自动化机械设备的软件部分。
我的邮箱:[email protected]
我的QQ:2296776525
展开
-
傅里叶变换进行缺陷检测detect_indent_fft.hdev(源代码与详细解析)
傅里叶变换进行缺陷检测,在实际的表面缺陷检测系统中,针对的检测表面很多是具有一定纹理的比如:布匹、皮革、塑料等,针对这一类表面的检测就不能单纯依靠帧差或者背景差来完成,因为背景的纹理不可能和当前图像的纹理完全相同。因此,本例程的算法通过将图像变换到频域进行处理,提取缺陷分量后反变换到时域,获得缺陷的具体位置。detect_indent_fft.hdev;rft_generic;convol_fft;gen_gauss_filter原创 2020-03-30 22:16:19 · 3928 阅读 · 1 评论 -
HALCON基于形状匹配详解
HALCON基于形状的模板匹配详细说明很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优化进行了研究,写了一篇《基于HDevelop的形状匹配算法参数的优化研究》文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度...转载 2019-05-06 13:43:51 · 4092 阅读 · 0 评论 -
扇形特征点提取
处理要求分别找出扇形左上角,左下角,右上角,右下角,最高点,下面弓形最高点原图halcon 处理程序read_image (Image14208259e49d7b1cf7c544, '544.bmp')rgb1_to_gray (Image14208259e49d7b1cf7c544, GrayImage)threshold (GrayImage, Region, 128, ...原创 2019-11-21 15:13:06 · 1115 阅读 · 0 评论 -
HALCON示例程序train_characters_ocr.hdev使用SVM分类器训练字体
HALCON示例程序train_characters_ocr.hdev使用SVM分类器训练字体示例程序源码(加注释)这个例子是主要讲解了如何使用,SVM分类器进行OCR字符训练。关于显示类函数解释read_image (Image, ‘ocr/chars_training_01.png’)获取单通道图像的指针get_image_pointer1 (Image, Pointer, Type, Width, Height)dev_close_win...原创 2019-07-17 15:37:31 · 1054 阅读 · 0 评论 -
HALCON示例程序vessel.hdev血管的分割与测量
HALCON示例程序vessel.hdev血管的分割与测量texture_laws 、binary_threshold这个例子是主要讲解了血管的分割与测量。使用Laws纹理过滤器过滤图像,使用二进制阈值分割图像。原创 2019-07-09 17:06:10 · 1343 阅读 · 0 评论 -
HALCON示例程序texture.hdev检测树木
HALCON示例程序texture.hdev检测树木texture_laws - 使用Laws纹理过滤器过滤图像。这个例子是主要讲解了histo_2dim 、class_2dim_sup 搭配使用灰度直方图进行图像分割原创 2019-07-09 16:47:56 · 1084 阅读 · 0 评论 -
HALCON示例程序surface_scratch.hdev提取划痕
HALCON示例程序surface_scratch.hdev提取划痕这个例子是主要讲解了金属划痕提取原创 2019-07-09 16:08:06 · 1534 阅读 · 4 评论 -
HALCON示例程序stamp_catalogue.hdev分割图片与文字
HALCON示例程序stamp_catalogue.hdev分割图片与文字这个例子是主要讲解了blob用于区域分割原创 2019-07-09 16:02:18 · 585 阅读 · 0 评论 -
HALCON示例程序sequence_diff.hdev通过两张连续图像进行车辆流量监控
HALCON示例程序sequence_diff.hdev通过两张连续图像进行车辆流量监控这个例子是主要讲解了使用dyn_threshold算子对比相邻两张图片进行车流量监测程序。原创 2019-07-09 15:53:02 · 587 阅读 · 3 评论 -
HALCON示例程序rim.hdev轮圈孔检测提取字符
HALCON示例程序rim.hdev轮圈孔检测提取字符这个例子是主要讲解了使用blob方法进行孔洞测量;使用动态阈值进行字符区域提取。原创 2019-07-09 15:33:32 · 805 阅读 · 0 评论 -
HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息
HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息depth_from_focus - 使用多个焦点水平提取深度。原创 2019-07-09 15:00:29 · 2179 阅读 · 1 评论 -
HALCON示例程序pcb_inspection.hdev检测pcb印刷缺陷
HALCON示例程序pcb_inspection.hdev检测pcb印刷缺陷这个例子是主要讲解了gray_opening_shape 、gray_closing_shape 算子关于灰度图像开闭运算的应用。原创 2019-07-09 14:10:37 · 2106 阅读 · 0 评论 -
HALCON示例程序particle.hdev测量小圆部分
HALCON示例程序particle.hdev测量小圆部分这个例子是主要讲解了通过鼠标实时显示区域特征的例子threshold 、dilation_circle 、complement、reduce_domain、mean_image 、dyn_threshold 、opening_circle 、get_mbutton 、select_region_point原创 2019-07-09 13:58:43 · 593 阅读 · 0 评论 -
HALCON示例程序optical_flow.hdev如何使用optical_flow_mg计算图像序列中的光流以及如何分割光流。
HALCON示例程序optical_flow.hdev如何使用optical_flow_mg计算图像序列中的光流以及如何分割光流。原创 2019-07-08 17:37:06 · 1494 阅读 · 4 评论 -
HALCON示例程序obj_diff.hdev算子obj_diff 的使用
HALCON示例程序obj_diff.hdev算子obj_diff 的使用原创 2019-07-08 17:12:28 · 880 阅读 · 0 评论 -
HALCON示例程序novelty_detection_dyn_threshold.hdev纱网缺陷检测
HALCON示例程序novelty_detection_dyn_threshold.hdev纱网缺陷检测原创 2019-07-08 16:00:35 · 748 阅读 · 0 评论 -
HALCON示例程序measure_screw.hdev螺纹尺寸测量
HALCON示例程序measure_screw.hdev螺纹尺寸测量get_region_runs 、gen_region_line 、derivate_gauss、zero_crossing_sub_pix、clip_contours_xld、gen_contour_polygon_xld、get_contour_xld 、distance_pc 、projection_pl - 计算点到线的投影。gen_contour_polygon_xld原创 2019-07-08 15:51:25 · 3133 阅读 · 1 评论 -
HALCON示例程序measure_ring.hdev齿轮齿宽度测量
HALCON示例程序measure_ring.hdev齿轮齿宽度测量binary_threshold 、compactness、smallest_circle、inner_circle、get_region_polygon、tuple_sort_index、line_orientation、gen_measure_arc、measure_pairs 搭配提取垂直圆弧的直边原创 2019-07-08 15:27:57 · 2117 阅读 · 7 评论 -
HALCON示例程序measure_pump.hdev螺纹孔位置与尺寸测量
HALCON示例程序measure_pump.hdev螺纹孔位置与尺寸测量fast_threshold、threshold_sub_pix、select_shape_xld 、segment_contours_xld 、union_cocircular_contours_xld、sort_contours_xld、fit_circle_contour_xld 、gen_circle_contour_xld、dist_ellipse_contour_xld原创 2019-07-08 14:58:07 · 2087 阅读 · 0 评论 -
HALCON示例程序measure_metal_part_id.hdev使用xld边缘拟合检测零件加工是否合格
threshold_sub_pix、vector_angle_to_rigid、affine_trans_contour_xld、segment_contours_xld、sort_contours_xld、get_contour_global_attrib_xld、select_contours_xld、hom_mat2d_identity、hom_mat2d_slant、hom_mat2d_translate 、affine_trans_pixel、hom_mat2d_invert原创 2019-07-08 14:40:50 · 861 阅读 · 2 评论 -
HALCON示例程序measure_metal_part_first_example.hdev通过拟合边缘进行尺寸测量
HALCON示例程序measure_metal_part_first_example.hdev通过拟合边缘进行尺寸测量这个例子是主要讲解了使用xld边缘拟合测量圆的大小与相对位置distance_pp 、gen_circle_contour_xld、fit_circle_contour_xld、get_contour_global_attrib_xld 、segment_contours_xld 、edges_sub_pix、orientation_region 、原创 2019-07-08 14:10:11 · 763 阅读 · 0 评论 -
HALCON示例程序measure_metal_part_extended.hdev金属零件尺寸测量
get_contour_global_attrib_xld、area_center_xld、sort_contours_xld、smallest_rectangle2_xld、get_contour_global_attrib_xld、dist_ellipse_contour_xld、gen_ellipse_contour_xld、points_foerstner、angle_ll、gen_polygons_xld、gen_parallels_xld、get_parallels_xld原创 2019-07-08 13:58:28 · 1760 阅读 · 3 评论 -
HALCON示例程序measure_grid.hdev使用XLD分割键盘轮廓
HALCON示例程序measure_grid.hdev使用XLD分割键盘轮廓skeleton、gen_contours_skeleton_xld、segment_contours_xld、select_contours_xld、union_collinear_contours_xld、fit_line_contour_xld、gen_contour_polygon_xld、get_contour_xld、intersection_lines、distance_ps原创 2019-07-08 11:13:53 · 1094 阅读 · 0 评论 -
HALCON示例程序measure_circuit_width_lines_gauss.hdev电路板线宽检测
HALCON示例程序measure_circuit_width_lines_gauss.hdev电路板线宽检测lines_gauss 、get_contour_xld、get_contour_attrib_xld、gen_contours_skeleton_xld原创 2019-07-06 09:49:08 · 1100 阅读 · 1 评论 -
HALCON示例程序measure_circles.hdev测量圆的半径
HALCON示例程序measure_circles.hdev测量圆的半径原创 2019-07-05 18:07:36 · 1692 阅读 · 0 评论 -
HALCON示例程序measure_chip.hdev芯片封装检测
HALCON示例程序measure_chip.hdev芯片封装检测fit_rectangle2_contour_xld拟合最小外接矩形这个例子是主要讲解了矩形边缘的拟合。原创 2019-07-05 17:51:58 · 1071 阅读 · 0 评论 -
HALCON示例程序measure_ball_bond.hdev电路板焊点位置测量
HALCON示例程序measure_ball_bond.hdev电路板焊点位置测量count_seconds计时算子select_shape_proto、union_adjacent_contours_xld、select_contours_xld、fit_circle_contour_xld、gen_circle_contour_xld、gen_arrow_contour_xld、smallest_rectangle1_xld、area_center_xld、gen_arrow_contour_xld原创 2019-07-05 17:35:38 · 920 阅读 · 3 评论 -
HALCON示例程序max_connection.hdev确定分割区域的最大区域数目
HALCON示例程序max_connection.hdev确定分割区域的最大区域数目原创 2019-07-05 16:59:59 · 984 阅读 · 0 评论 -
HALCON示例程序inspect_solar_fingers.hdev太阳能电池板电路缺陷检测
HALCON示例程序inspect_solar_fingers.hdev太阳能电池板电路缺陷检测这个例子是主要讲解了太阳能电池板的电路完整性检测。灵活的应用了select_shape 与difference ;shape_trans完成了缺陷区域的框选;erosion_rectangle1 腐蚀缺陷区域以提取断点。原创 2019-07-05 16:17:25 · 1518 阅读 · 4 评论 -
HALCON示例程序inspect_bottle_mouth.hdev玻璃瓶口缺陷检测
auto_threshold 、select_obj ,自动阈值分割。boundary提取区域边缘edges_sub_pix、segment_contours_xld、union_cocircular_contours_xld、length_xld、select_obj 、fit_circle_contour_xld 边界的提取、分割、合并、求长、选取、拟合。polar_trans_image_ext极坐标变换polar_trans_region_inv反极坐标变换mirror_region镜像原创 2019-07-05 15:20:43 · 2429 阅读 · 2 评论 -
HALCON示例程序inspect_bga.hdev测量bga焊点缺陷
HALCON示例程序inspect_bga.hdev测量bga焊点缺陷这个例子是主要讲解了焊点完整性检测。gen_region_points生成点区域;hom_mat2d_identity、hom_mat2d_rotate、hom_mat2d_translate、hom_mat2d_scale、affine_trans_point_2d、vector_to_rigid仿射变换; gen_contour_polygon_xld;绘制十字线distance_pp求取两点距离。原创 2019-07-05 11:54:36 · 1362 阅读 · 0 评论 -
HALCON示例程序inner_rectangle1.hdev木板有效区域提取
HALCON示例程序inner_rectangle1.hdev木板有效区域提取这个例子是主要讲解了inner_rectangle1 算子的应用,求取适合区域的最大平行于坐标轴的内部矩形。原创 2019-07-05 10:54:34 · 1362 阅读 · 0 评论 -
HALCON示例程序IC.hdev通过电路板元器件定位识别
HALCON示例程序IC.hdev通过电路板元器件定位识别原创 2019-07-05 10:36:58 · 1382 阅读 · 0 评论 -
HALCON示例程序hull.hdev区域提取与凸度筛选
HALCON示例程序hull.hdev区域提取与凸度筛选这个例子是主要讲解了select_shape 使用'convexity'凸度,shape_trans 对区域进行形状变换。原创 2019-07-05 10:20:08 · 1429 阅读 · 0 评论 -
HALCON示例程序holes.hdev孔洞提取
HALCON示例程序holes.hdev孔洞提取这个例子是主要讲解了孔洞的提取,elliptic_axis 。原创 2019-07-05 09:52:50 · 2154 阅读 · 0 评论 -
HALCON示例程序high.hdev使用不同方法提取区域
HALCON示例程序high.hdev使用不同方法提取区域这个例子是主要讲解了阈值分割的三种方法使用图像的闭运算与原图对减dual_rank 、sub_image、threshold ;礼帽算法gen_disc_se、gray_tophat 、threshold ;动态阈值mean_image 、dyn_threshold原创 2019-07-05 09:44:58 · 779 阅读 · 1 评论 -
HALCON示例程序gray_features.hdev提取灰度图的不同特征(area_center_gray 、elliptic_axis_gray)
HALCON示例程序gray_features.hdev提取灰度图的不同特征(area_center_gray 、elliptic_axis_gray)这个例子是主要介绍了算子area_center 与area_center_gray 和elliptic_axis与elliptic_axis_gray的区别。原创 2019-07-05 09:01:01 · 1866 阅读 · 0 评论 -
HALCON示例程序forest.hdev识别森林中的树
HALCON示例程序forest.hdev识别森林中的树这个例子是主要讲解了如何通过无人机拍摄的图像识别其中的对象。smooth_image 、watersheds 等算子被应用。原创 2019-07-05 08:42:54 · 749 阅读 · 0 评论 -
HALCON示例程序find_pads.hdev通过fit_rectangle2_contour_xld绘制精准轮廓
HALCON示例程序find_pads.hdev通过fit_rectangle2_contour_xld绘制精准轮廓这个例子是主要讲解了如何利用边缘提取与矩形拟合进行精确定位。使用了fast_threshold进行阈值分割,boundary并dilation_circle得到边界图像,使用edges_sub_pix进行边缘提取,select_shape_xld筛选边界,fit_rectangle2_contour_xld边界矩形拟合,gen_rectangle2_contour_xld绘制边缘轮廓。原创 2019-07-04 10:07:04 · 3053 阅读 · 0 评论 -
HALCON示例程序fin.hdev通过形态学检测缺陷
HALCON示例程序fin.hdev通过形态学检测缺陷这个例子是主要利用closing_circle、opening_rectangle1 前后的变换使用difference 求出差集,进而提取出缺陷。原创 2019-07-03 18:32:16 · 795 阅读 · 0 评论