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

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

相关文章

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

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

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

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

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