机器视觉——多图颜色检测

2024-06-06 19:28

本文主要是介绍机器视觉——多图颜色检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 今天我们实现将一组图片导入,然后对它们进行颜色检测分类。

比如下面一组图片:

首先我们需要导入这组图片 

 

之后会在编辑器里面生成这样一段代码 

 之后再继续相应代码编写 ,我的思路是利用颜色空间转换 RGB转到HSV

trans_from_rgb(R, G, B, H, S, V, 'hsv')

先以V图进行灰度值分割,在特征筛选出所有瓶盖。之后再循环遍历出每个瓶盖的像素点行列坐标,将得到的行列坐标元组利用get_grayval算子得到每个像素点灰度值。

将取到的灰度值进行取中值,因为每个颜色不同,中值也就不同。

再利用if语句,根据中值不同,分别得到不同的颜色。

完整代码(附有注释,很详细)

list_files ('./img/彩色圆片', ['files','follow_links'], ImageFiles)
tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)
for Index := 0 to |ImageFiles| - 1 by 1read_image (Image, ImageFiles[Index])decompose3(Image, R, G, B)*颜色空间转换 RGB转到HSVtrans_from_rgb(R, G, B, H, S, V, 'hsv')threshold (V, Regions, 80, 255)connection(Regions, ConnectedRegions)select_shape(ConnectedRegions,SelectedRegions,\'area','and',80000,240000)count_obj(SelectedRegions,Number)*定义四个变量,分别统计各种颜色数量Number1:=0Number2:=0Number3:=0Number4:=0*清空窗口dev_clear_window()*展示原图dev_display(Image)for i :=1 to Number by 1dev_update_off()select_obj(SelectedRegions, ObjectSelected, i)get_region_points(ObjectSelected, Rows, Columns)get_grayval(H, Rows, Columns, Grayval)gra:=median(Grayval)area_center(ObjectSelected,Area,Row,Column)if(gra>0 and gra<20)Number1:=Number1+1set_display_font(3600,28, '楷体', 'true', 'false')disp_message(3600,'红色圆片',\'image',Row,Column,'green','false')endifif(gra>30 and gra<50)Number2:=Number2+1set_display_font(3600,28, '楷体', 'true', 'false')disp_message(3600,'黄色圆片',\'image',Row,Column,'green','false')endifif(gra>80 and gra<110)Number3:=Number3+1set_display_font(3600,28, '楷体', 'true', 'false')disp_message(3600,'绿色圆片',\'image',Row,Column,'green','false')endifif(gra>140 and gra<160)Number4:=Number4+1set_display_font(3600,28, '楷体', 'true', 'false')disp_message(3600,'蓝色圆片',\'image',Row,Column,'green','false')endif*stop()wait_seconds(1)endforset_display_font(3600,28, '楷体', 'true', 'false')disp_message(3600,'红色圆片数量:'+Number1,\'image',10,10,'black','true')disp_message(3600,'黄色圆片数量:'+Number2,\'image',110,10,'black','true')disp_message(3600,'蓝色圆片数量:'+Number3,\'image',210,10,'black','true')disp_message(3600,'绿色圆片数量:'+Number4,\'image',310,10,'black','true')*stop()wait_seconds(1)
endfor

这篇关于机器视觉——多图颜色检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1037015

相关文章

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.