Python 对图片进行颜色识别

article/2025/8/26 19:30:45

场景:在进行压力测试时,需要判断图片的某一块区域是否是黑色

这里使用的是OpenCV库对图片进行颜色的识别,几乎可以识别所有常见的颜色

直接上代码

import cv2
import numpy as np
import collectionsclass colorList:def getColorList(self):dict = collections.defaultdict(list)# 黑色lower_black = np.array([0, 0, 0])upper_black = np.array([180, 255, 46])color_list = []color_list.append(lower_black)color_list.append(upper_black)dict['黑色'] = color_list# 灰色lower_gray = np.array([0, 0, 46])upper_gray = np.array([180, 43, 220])color_list = []color_list.append(lower_gray)color_list.append(upper_gray)dict['灰色'] = color_list# 白色lower_white = np.array([0, 0, 221])upper_white = np.array([180, 30, 255])color_list = []color_list.append(lower_white)color_list.append(upper_white)dict['白色'] = color_list# 红色lower_red = np.array([156, 43, 46])upper_red = np.array([180, 255, 255])color_list = []color_list.append(lower_red)color_list.append(upper_red)dict['红色'] = color_list# 红色2lower_red = np.array([0, 43, 46])upper_red = np.array([10, 255, 255])color_list = []color_list.append(lower_red)color_list.append(upper_red)dict['红色2'] = color_list# 橙色lower_orange = np.array([11, 43, 46])upper_orange = np.array([25, 255, 255])color_list = []color_list.append(lower_orange)color_list.append(upper_orange)dict['橙色'] = color_list# 黄色lower_yellow = np.array([26, 43, 46])upper_yellow = np.array([34, 255, 255])color_list = []color_list.append(lower_yellow)color_list.append(upper_yellow)dict['黄色'] = color_list# 绿色lower_green = np.array([35, 43, 46])upper_green = np.array([77, 255, 255])color_list = []color_list.append(lower_green)color_list.append(upper_green)dict['绿色'] = color_list# 青色lower_cyan = np.array([78, 43, 46])upper_cyan = np.array([99, 255, 255])color_list = []color_list.append(lower_cyan)color_list.append(upper_cyan)dict['青色'] = color_list# 蓝色lower_blue = np.array([100, 43, 46])upper_blue = np.array([124, 255, 255])color_list = []color_list.append(lower_blue)color_list.append(upper_blue)dict['蓝色'] = color_list# 紫色lower_purple = np.array([125, 43, 46])upper_purple = np.array([155, 255, 255])color_list = []color_list.append(lower_purple)color_list.append(upper_purple)dict['紫色'] = color_listreturn dict# 处理图片def get_color(self):print('颜色对比')img = cv2.imread('D:\sdcard\XiaLa.png')hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)maxsum = -100color = Nonecolor_dict = colorList().getColorList()for d in color_dict:mask = cv2.inRange(hsv, color_dict[d][0], color_dict[d][1])binary = cv2.threshold(mask, 127, 255, cv2.THRESH_BINARY)[1]binary = cv2.dilate(binary, None, iterations=2)img, cnts = cv2.findContours(binary.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)sum = 0for c in img:sum += cv2.contourArea(c)if sum > maxsum:maxsum = sumcolor = dreturn colorif __name__ == '__main__':print(colorList().get_color())

运行结果如下:

 

颜色可以判断出来了,可以做的事情就方便很多了

比如在尽行压力测试时,去判断截图区域是否是黑色,是黑色就停止运行,不是则继续。

OK!方便易懂,代码可直接用


http://chatgpt.dhexx.cn/article/vO7TP4Vr.shtml

相关文章

OpenCV颜色识别(所有颜色均可识别)

OpenCV颜色识别实例(所有颜色均可识别) 欢迎访问我的博客sakuraの绘梨衣 本文中的颜色识别为红色,颜色阈值设置如下: lower_apple np.array([0, 100, 100]) higher_apple np.array([10, 200, 200])识别其他颜色可以参考HSV颜色…

如何实现视觉识别颜色

1. 功能说明 通过摄像头识别特定颜色(红、绿、蓝)。摄像头采集图像信息并通过WiFi将信息传递给PC端,然后PC端根据比例判断出目标颜色在色盘上的所属颜色后,指针便会指向对应颜色。 红、绿、蓝-色块 2. 电子硬件 本实验中采用了以下…

Halcon——颜色识别提取

文章目录 前言一、颜色识别原理二、颜色识别为什么将其转换至HSV颜色空间三、源代码写在最后 前言 【Halcon】颜色识别提取 这里以嘉庚建筑风格为例~ 一、颜色识别原理 载入图像后,将其转换至HSV颜色空间,通过判断每个像素是否在所选取的范围内&…

颜色识别、轮廓识别-树莓派 Opencv-基于Python学习记录DAY-4

学习颜色识别之前先介绍一下新认识的图像格式HSV: 色调H 用角度度量,取值范围为0~360,从红色开始按逆时针方向计算,红色为0,绿色为120,蓝色为240。它们的补色是:黄色为60,青色为18…

opencv--颜色识别

目录 一、主要函数介绍 二、颜色识别 三、其他相关函数介绍 1. cv2.resize 2. np.array(x,dtype) 3. cv2.inRange() 4. cv2.imshow() 5.cv2. waitKey() 四、掩膜 一、主要函数介绍 通常,相机在RGB颜色模式下工作,但这种模式受到光线的影响较大&am…

颜色识别OpenCV

下面有多种颜色识别方法,可根据需要进行选择 ①colorList.py(颜色库) import numpy as np import collectionsdef getColorList():dict collections.defaultdict(list)# blacklower_black np.array([0, 0, 0])upper_black np.array([180…

SPSSAU统计分析软件,一键输出三线表格式分析结果

SPSSAU最近和一位朋友聊天,她在写论文,说到自己用SPSS软件对问卷数据做统计分析,做完之后分析结果有了,拿给导师看,但她们导师说,论文中的表格必须是三线表格式,然后她就得要自己手动制作三线表…

SPSS软件的数据分析与GDP和人口老龄化的预测

目录 前言 问题二模型的建立与求解 1.2.1 ARIMA时间序列模型的建立与求解 平稳性检验 的时间序列预测模型的建立与求解 ​​​​​​​模型的检验 ​​​​​​​对于的时间序列预测模型的建立与求解 ​​​​​​​模型的检验 ​​​​​​​ 前言 SPSS软件的数据分析与GDP和…

数据分析与挖掘———SPSS Moderler

数据分析与挖掘———SPSS Moderler 一、Modeler给概述 1、SPSS Modeler基本认识 IBM SPSS Modeler是一组数据挖掘工具,通过这些工具可以采用商业技术快速建立预测性模型,并将其应用于商业活动,从而改进决策过程。 SPSS Modeler提供了各种…

用SPSS做数据分析(1)

写在前面: 爬虫今天停更一天,今天是周六,今天要把最近网课学习SPSS课程做个总结和回顾,明天继续更新爬虫的内容,今天这篇文章主要是SPSS中的数据管理,一些关于数据的简单操作,是属于SPSS中比较基础的内容,希望看完博客能动手亲自实践一下,会有奇效 文章目录 写在前面:SPSS数据…

利用SPSS做数据分析①(了解SPSS)

话不多说,上才艺,BGM,BGM,BGMBGM。。。哈哈哈哈 不闹了,接下来让我们一起认识一个非常好用的数据分析工具:SPSS 1、SPSS是什么? SPSS是广大统计爱好者和数据分析师最熟悉的名字,它…

如何用SPSS进行数据分析?

1.什么是SPSS SPSS是社会统计科学软件包的简称, 其官方全称为IBM SPSS Statistics。SPSS软件包最初由SPSS Inc.于1968年推出,于2009年被IBM收购,主要运用于各领域数据的管理和统计分析。作为世界社会科学数据分析的标准,SPSS操作…

数据分析5大软件大PK:Python、Excel、R、SAS、SPSS你最爱哪个?

转自 中国统计网 本文为转载分享,若侵权请联系后台删除 1 Excel Microsoft Excel是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个…

SPSS:数据分析

目录 1、数据采集 2、数据是否服从正态分布 3、T检验(T Test) 4、方差分析(ANOVA) 5、卡方检验(Chi-square Test) 6、灰色关联度分析(Grey Relation Analysis,GRA)…

[SPSS] SPSS统计分析软件简介

SPSS的英文缩写来源于以下两个 ① Statistical Package for Social Science(社会科学统计软件包) ② Statistical Product and Service Solutions(统计产品与服务解决方案) SPSS是一种专业的统计分析软件。为用户提供了直观的图形化菜单界面,用户的数据管理和统计…

SPSS软件介绍

SPSS软件界面描述 IBM SPSS是目前常用的一种统计分析软件,SPSS(Statistical Product and Service Solutions)是统计产品和服务解决方案软件,操作简单,无需写代码,只需确定要分析的数据及之间的因变、自变关…

数据分析软件及spss简单操作

数据分析软件介绍 SPSS统计软件 SPSS是英文Statistical package for the social science 的缩写,翻译成汉语是社会学统计程序包,20世纪60年代末由美国斯坦福大学的三位研究生研制,1975年在芝加哥组建SPSS总部。SPSS系统特点是操作比较方…

SPSS数据分析全套教程(1)——SPSS概览

SPSS数据分析全套教程(1)——SPSS概览 什么是SPSS? 社会科学统计软件包(Statistical Package for the Social Science,SPSS)是世界著名的统计分析软件之一。 经近40年的发展,在全球已拥有大量…

初识数据分析利器SPSS

今天这篇文章小白带大家了解一款做数据分析的利器—SPSS。 不知道大家有没有了解过SPSS,如果了解过甚至使用过的同学又对这款工具有多深的认识呢? SPSS是一款常用的数据分析工具,不管是在学校课程、学术论文还是数据分析工作中都是非常常见…

JLink的RTT使用

前言:什么是RTT? RTT( Real Time Terminal)是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都支持RTT。RTT既可以从MCU上输出信息、也可以向应用程序发送信息,由于其高速的特性&#…