分类器——高斯混合模型之水果分类
1.halcon-轮廓拟合圆fit_circle_contour_xld2.Halcon 标定例程(calibration-adjust_mosaic_images.hdev)3.Halcon 相机外部参数(camera_calibration_external.hdev)4.halcon 标定5.Halcon 相机内部参数(camera_calibration_internal.hdev)6.halcon 标定算子汇总7.halcon 拼接参考8.halcon 双目相机标定9.HALCON 杂记10.dump_window & dump_window_image 区别11.拟合——直线12.halcon崩溃,未及时保存文件临时存储路径13.halcon-——显示颜色对照表14.矩阵基本操作15.通过高斯的导数获取法向量16.halcon ——从几个不同照明的图像重建表面17.脱离halcon环境运行18.Halcon 一维测量/1D-Measuring19.Halcon——矩阵/Matrix20.dev_set_lut显示效果21.基础设置之——dev_set_check22.基础设置之——dev_open_file_dialog23.基础设置之——dev_open_dialog24.基础设置之——dev_disp_text25.基础操作之——生成一张背景图像26.基础设置之——dev_open_tool27.基本设置之——算术运算28.基础设置之——字符显示格式设置29.基础设置之——条件判断(一)30.基础操作之——tuple基本操作31.基本操作之——位运算32.基本操作之——正弦函数绘制33.基本操作之——多维空间欧几里得距离距离计算及标量积计算34.基本操作之——集合基本操作35.基本操作之——字符截取操作36.基本操作之——Unicode编码37.基本操作之——正则表达式38.基本操作之——字典39.基础设置之——条件判断(二)40.基本操作之——tuple类型41.基本操作之——tuple值分布范围获取42.基本操作之——tuple增删查改操作43.基本操作之——Object比较44.基本操作之——Object插入45.基本操作之——Object差异46.基本操作之——Object移除操作47.基本操作之——Object替换48.分类器——高斯混合模型/Gaussian-Mixture-Models(GMM)之图像分割
49.分类器——高斯混合模型之水果分类
50.分类器——高斯混合模型之缺陷检测(纹理缺陷检测)51.基本操作之——图像纹理处理texture_laws52.分类器——高斯混合模型之查找表分类器(保险丝分类)53.模版匹配——set_shape_model_param54.模板匹配——set_shape_model_clutter55.模板匹配——金字塔图像计算gen_gauss_pyramid56.模板匹配——determine_shape_model_params57.模板匹配——create_shape_model58.模版匹配——inspect_shape_model* 此示例程序演示如何应用通用 GMM * 使用“面积”和“圆度”特征区分柑橘类水果的分类。此外,还对提取的水果的 2D 特征空间进行了可视化。 * read_image (Image, 'color/citrus_fruits_01') get_image_pointer1 (Image, Pointer, Type, Width, Height) dev_close_window () dev_open_window (0, 0, Width, Height, 'white', WindowHandle) set_display_font (WindowHandle, 12, 'mono', 'true', 'false') dev_set_draw ('margin') dev_set_line_width (2) dev_display (Image) dev_update_window ('off') dev_update_pc ('off') dev_update_var ('off') * FeaturesArea := [] FeaturesCircularity := [] ClassName := ['橘子','柠檬'] * * 创建一个高斯混合模型分类器 create_class_gmm (2, 2, 1, 'spherical', 'normalization', 10, 42, GMMHandle) * * 增加训练样本 for I := 1 to 4 by 1 read_image (Image, 'color/citrus_fruits_' + I$'.2d') dev_display (Image) * 获取样本区域 get_regions (Image, SelectedRegions) dev_display (SelectedRegions) count_obj (SelectedRegions, NumberObjects) for J := 1 to NumberObjects by 1 select_obj (SelectedRegions, ObjectSelected, J) get_features (ObjectSelected, WindowHandle, Circularity, Area, RowRegionCenter, ColumnRegionCenter) FeaturesArea := [FeaturesArea,Area] FeaturesCircularity := [FeaturesCircularity,Circularity] *样本圆度和面积特征用于,训练GMM模型 FeatureVector := real([Circularity,Area]) if (I <= 2) *前两张图像为橘子的样本 add_sample_class_gmm (GMMHandle, FeatureVector, 0, 0) disp_message (WindowHandle, '至样本增加:' + ClassName[0], 'window', RowRegionCenter, ColumnRegionCenter - 100, 'white', 'false') else *从第三张图像为柠檬的样本 add_sample_class_gmm (GMMHandle, FeatureVector, 1, 0) disp_message (WindowHandle, '至样本增加:' + ClassName[1], 'window', RowRegionCenter, ColumnRegionCenter - 100, 'white', 'false') endif endfor disp_continue_message (WindowHandle, 'white', 'false') stop () endfor dev_clear_window () * *可视化样本特征空间 visualize_2D_feature_space (Cross, Height, Width, WindowHandle, FeaturesArea[0:5], FeaturesCircularity[0:5], 'orange', 18) * 'oranges', 40, 440 visualize_2D_feature_space (Cross, Height, Width, WindowHandle, FeaturesArea[6:11], FeaturesCircularity[6:11], 'green', 18) * 'lemons', 70, 440 disp_continue_message (WindowHandle, 'white', 'false') stop () * * 训练分类器 train_class_gmm (GMMHandle, 100, 0.001, 'training', 0.0001, Centers, Iter) * * 开始分类 for I := 1 to 15 by 1 read_image (Image, 'color/citrus_fruits_' + I$'.2d') dev_display (Image) * 'Classify Image', 10, 10 get_regions (Image, SelectedRegions) dev_display (SelectedRegions) count_obj (SelectedRegions, NumberObjects) for J := 1 to NumberObjects by 1 select_obj (SelectedRegions, ObjectSelected, J) get_features (ObjectSelected, WindowHandle, Circularity, Area, RowRegionCenter, ColumnRegionCenter) FeaturesArea := [FeaturesArea,Area] FeaturesCircularity := [FeaturesCircularity,Circularity] FeatureVector := real([Circularity,Area]) classify_class_gmm (GMMHandle, FeatureVector, 1, ClassID, ClassProb, Density, KSigmaProb) disp_message (WindowHandle, '得分最高类: ' + ClassName[ClassID], 'window', RowRegionCenter, ColumnRegionCenter - 100,'white', 'false') disp_message (WindowHandle, '得分: ' + KSigmaProb, 'window', RowRegionCenter + 30, ColumnRegionCenter - 100, 'white', 'false') endfor if (I != 15) disp_continue_message (WindowHandle,'white', 'false') endif stop () endfor * * 释放分类器内存 clear_class_gmm (GMMHandle)
1.样本训练
2.样本空间特征统计
3.分类结果
------------------------------------
承接
**视觉检测软件开发及调试
**工业软件开发
**上位机软件开发
wechat:luoran2024
qq:565934058
email:taoyuansu@qq.com
海量教育资源及影视资源下载
微信公众号:EFun科技
------------------------------------
合集:
Halcon
分类:
视觉 / HALCON
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!