首页 > 其他分享 >分类器——高斯混合模型之查找表分类器(保险丝分类)

分类器——高斯混合模型之查找表分类器(保险丝分类)

时间:2024-03-08 09:24:15浏览次数:22  
标签:disp 保险丝 WindowHandle dev 分类器 查找 black message


* In this example five different color fuses are segmented with * a look-up table classifier (LUT) based on a Gaussian Mixture * Model (GMM). *基于高斯混合模型查找表分类器,用于颜色分割匹配 * dev_update_off () dev_close_window () dev_open_window (0, 0, 800, 600, 'white', WindowHandle) dev_set_draw ('margin') ImageRootName := 'color/color_fuses_0' *保险丝类型 橘色5A 红色10A 蓝色15A 黄色20A 绿色30A FuseTypes := [5,10,15,20,30] *保险丝颜色 FuseColors := ['橘色','红色','蓝色','黄色','绿色'] FuseHighlight := ['orange','red','blue','goldenrod','forest green'] DisplayTextShift := [85,65,75,85,85] dev_set_color ('white') dev_set_line_width (2) read_image (Image, ImageRootName + '0') dev_display (Image) * * Define ROIs for the training data of the classifier *获取(标记)分类器训练数据区域 set_display_font (WindowHandle, 14, 'mono', 'true', 'false') gen_rectangle1 (FuseOrange, 195, 90, 230, 120) dev_display (FuseOrange) disp_message (WindowHandle, '橘色保险丝', 'image', 160, 90 - 65, 'black', 'false') gen_rectangle1 (FuseRed, 191, 280, 226, 310) dev_display (FuseRed) disp_message (WindowHandle, '红色保险丝', 'image', 160, 280 - 55, 'black', 'false') gen_rectangle1 (FuseBlue, 190, 470, 225, 500) dev_display (FuseBlue) disp_message (WindowHandle, '蓝色保险丝', 'image', 160, 470 - 60, 'black', 'false') gen_rectangle1 (FuseYellow, 192, 672, 227, 702) dev_display (FuseYellow) disp_message (WindowHandle, '黄色保险丝', 'image', 160, 672 - 70, 'black', 'false') gen_rectangle1 (FuseGreen, 197, 880, 232, 910) dev_display (FuseGreen) disp_message (WindowHandle, '绿色保险丝', 'image', 160, 880 - 65, 'black', 'false') *创建分类器中类别 gen_empty_obj (Classes) concat_obj (FuseOrange, FuseRed, Classes) concat_obj (Classes, FuseBlue, Classes) concat_obj (Classes, FuseYellow, Classes) concat_obj (Classes, FuseGreen, Classes) disp_message (WindowHandle, '训练数据标记完成', 'window', 12, 12, 'orange', 'false') disp_continue_message (WindowHandle, 'black', 'false') stop () * * Create the GMM classifier, add the samples, and train it *创建高斯混合模型,添加训练样本以及训练 *创建含5个类的高斯混合模型分类器 create_class_gmm (3, 5, 1, 'full', 'none', 3, 42, GMMHandle) add_samples_image_class_gmm (Image, Classes, GMMHandle, 0) disp_message (WindowHandle, 'GMM分类器训练中……', 'window', 48, 12, 'black', 'true') train_class_gmm (GMMHandle, 100, 0.001, 'training', 0.001, Centers, Iter) * * 创建基于高斯混合模型的查找表分类器 disp_message (WindowHandle, '创建基于高斯混合模型的查找表分类器...', 'window', 84, 12, 'black', 'true') create_class_lut_gmm (GMMHandle, ['bit_depth','rejection_threshold'], [6,0.03], ClassLUTHandle) * * Segment images with LUT classifier *基于GMM查找表分类器分割图像 for Img := 0 to 3 by 1 read_image (Image, ImageRootName + Img) count_seconds (T1) classify_image_class_lut (Image, ClassRegions, ClassLUTHandle) count_seconds (T2) TimeToClassify := (T2 - T1) * 1000 dev_display (Image) dev_set_line_width (3) for Fuse := 1 to 5 by 1 * * Perform post-processing on returned classes *返回结果进行后处理 copy_obj (ClassRegions, ObjectsSelected, Fuse, 1) closing_circle (ObjectsSelected, RegionClosing, 3.5) connection (RegionClosing, ConnectedRegions) select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 2500, 99999) fill_up (SelectedRegions, RegionFillUp) area_center (RegionFillUp, Area, Row, Column) shape_trans (RegionFillUp, RegionTrans, 'convex') dev_set_color (FuseHighlight[Fuse - 1]) dev_display (RegionTrans) * disp_message (WindowHandle, FuseColors[Fuse - 1] + ' ' + FuseTypes[Fuse - 1] + ' A', 'image', Row - 10, Column - DisplayTextShift[Fuse - 1], FuseHighlight[Fuse - 1], 'white') endfor disp_message (WindowHandle,'用时'+TimeToClassify$'.1f' + ' ms', 'window', 12, 12, 'black', 'false') if (Img < 3) disp_continue_message (WindowHandle, 'black', 'false') stop () endif endfor * disp_message (WindowHandle, '执行完成', 'window', 50, 12, 'black', 'false')

1.样本标注

 

2.高斯混合模型训练

3.创建基于GMM的查找表分类器

 4.分类结果

 

 

标签:disp,保险丝,WindowHandle,dev,分类器,查找,black,message
From: https://www.cnblogs.com/echo-efun/p/18060288

相关文章

  • 分类器——高斯混合模型之缺陷检测(纹理缺陷检测)
    *ThisexampleprogramshowsyouhowtousetheGMMclassifierfornovelty*detectiontoperformawebinspectiontask.Toperformthenoveltydetection,*allpixelsbelongingtothesingletrainedclassarecomputed,andarethen*subtractedfromthe......
  • 分类器——高斯混合模型之水果分类
    *此示例程序演示如何应用通用GMM*使用“面积”和“圆度”特征区分柑橘类水果的分类。此外,还对提取的水果的2D特征空间进行了可视化。*read_image(Image,'color/citrus_fruits_01')get_image_pointer1(Image,Pointer,Type,Width,Height)dev_close_window()dev......
  • 命令行 查找某个结尾的文件.
    你可以使用find命令来搜索文件夹中以.apk结尾的文件,并列出它们。下面是一个示例命令:find/path/to/directory-typef-name"*.apk"在这个命令中:/path/to/directory是你要搜索的文件夹路径。-typef表示只搜索文件,而不搜索文件夹。-name"*.apk"表示搜索以.apk结尾的......
  • 分类器——高斯混合模型/Gaussian-Mixture-Models(GMM)之图像分割
    图像分割之高斯混合模型使用GMM的步骤如下:首先,GMM由create_class_gmm创建。然后,通过add_sample_class_gmm添加训练向量,然后可以使用write_samples_class_gmm将它们写入磁盘。通过train_class_gmm确定分类器中心参数(如上定义)。此外,它们可以与write_class_gmm一起保存,以便以后......
  • 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。
    704.二分查找https://leetcode.cn/problems/binary-search/description/一、左闭右闭`//左闭右闭publicstaticinterFen1(int[]nums,inttarget){if(target<nums[0]||target>nums[nums.length-1]){return-1;}intmaxIndex=nums.length-......
  • 查找/排序算法
    //二分查找publicstaticbooleanBinarySearch(inttarget,int[]array){intleft=0;intright=array.length-1;while(left<=right){intmiddle=(left+right)/2;//中间位置if(array[middle]<target)......
  • 如何在SQL中查找某一字段在哪些表中
    在SQL中,要找出数据库中包含特定字段(列)的所有表,可以使用数据库的系统表或信息架构视图。不同的数据库系统(如MySQL,SQLServer,PostgreSQL等)有不同的系统表和查询方式。以下是几种常见数据库的查询方法:MySQL在MySQL中,你可以使用INFORMATION_SCHEMA.COLUMNS表来查找特定字段名存......
  • 使用JMeter的JSON提取器:通过递归下降查找,从接口响应中提取特定字段
    在接口测试中,我们经常需要从返回的JSON数据中提取特定字段以便后续使用。JMeter提供了JSON提取器,可以帮助我们实现这一目标。本文将介绍如何使用JMeter的JSON提取器通过递归下降查找的方式从接口响应中提取特定字段,并通过示例解释JSON表达式中".."的逻辑。1.示例接口响应......
  • ps查找应用的资源占用情况
    ps查找应用的资源占用情况查找进程的内存和CPU资源使用率,查找应用进程的资源【cpu,mem】资源占用情况进行资源预申请准备ps选项-e:显示所有进程。-o:自定义输出格式。pid:进程ID。pcpu:CPU使用率。pmem:内存使用率。cmd:命令名称或命令行。示例##验证进程优先级,每隔一秒......
  • 洛谷题单指南-二分查找与二分答案-P3743 kotori的设备
    原题链接:https://www.luogu.com.cn/problem/P3743题意解读:设备使用的时间越久,需要充电的总时间也越多,具备单调性,根据使用的时间,计算需要充电的时间,如果充电总时间<=使用的时间,说明有电量还能富余,使用时间还可以更多,因此只需对使用时间进行二分即可。解题思路:给定设备使用的时间......