python识别图片中指定颜色的图案并保存为图片

embedded/2025/1/16 3:53:50/

示例代码:

python">def chuli(color):import cv2import numpy as np# 定义颜色名称到HSV阈值范围的映射color_thresholds = {'red': ([0, 100, 100], [10, 255, 255], [160, 100, 100], [180, 255, 255]),'yellow': ([20, 100, 100], [30, 255, 255]),'blue': ([90, 100, 100], [130, 255, 255])}# 读取图片image = cv2.imread('captcha.png')# 将图片从BGR转换到HSV颜色空间hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)# 获取用户输入的颜色名称color_name = color.lower()# 检查颜色名称是否在映射中if color_name in color_thresholds:# 获取该颜色的HSV阈值范围thresholds = color_thresholds[color_name]# 创建掩码mask = Nonefor i in range(0, len(thresholds), 2):lower = np.array(thresholds[i])upper = np.array(thresholds[i + 1])mask_color = cv2.inRange(hsv_image, lower, upper)if mask is None:mask = mask_colorelse:mask = cv2.bitwise_or(mask, mask_color)# 对掩码进行膨胀和腐蚀mask = cv2.dilate(mask, None, iterations=2)mask = cv2.erode(mask, None, iterations=2)# 使用掩码提取原图中的颜色区域result = cv2.bitwise_and(image, image, mask=mask)# 保存结果为图片result_filename = 'detected.png'cv2.imwrite(result_filename, result)print(f"Result saved as {result_filename}")else:print("Invalid color name. Please choose from 'red', 'yellow', or 'blue'.")chuli('blue')

 效果展示:


http://www.ppmy.cn/embedded/154296.html

相关文章

力扣6-合并两个有序链表

一.题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 [] 输出&#x…

性能工具之 JMeter ActiveMQ 脚本开发实践

文章目录 一、ActiveMQ环境搭建1.1、控制台环境搭建1.2、控制台配置 二、SpringBoot开发环境搭建三、JMeter脚本二次开发环境搭建 一、ActiveMQ环境搭建 1.1、控制台环境搭建 下载 ActiveMQ 地址为: https://activemq.apache.org/components/classic/download/ 注…

青少年编程与数学 02-006 前端开发框架VUE 17课题、组件深入

青少年编程与数学 02-006 前端开发框架VUE 17课题、组件深入 一、组件注册组件注册全局注册局部注册组件名格式 二、propsPropsProps 声明响应式 Props 解构将解构的 props 传递到函数中传递 prop 的细节Prop 名字格式静态 vs. 动态 Props传递不同的值类型NumberBooleanArrayOb…

【Oracle专栏】group by 和distinct 效率

Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.背景 查阅资料: 1)有索引情况下,group by和distinct都能使用索引,效率相同。 2)无索引情况下,distinct…

使用 TiDB 的几个优秀 Tips

使用 TiDB 的几个优秀 Tips TiDB 作为一款分布式数据库,具有强大的功能和高可用性,但也因为其分布式架构的特点,使用时有一些需要特别注意的地方。掌握一些技巧和最佳实践,可以帮助你更好地使用 TiDB,提升系统的性能和…

【HarmonyOS Next NAPI 深度探索2】N-API 的工作机制与架构

【HarmonyOS Next NAPI 深度探索2】N-API 的工作机制与架构 如果你听说过 N-API,但还不太了解它的作用和背后的工作机制,那这篇文章会帮你捋清楚它的结构和原理。N-API 是 Node.js 提供的一个强大工具,专门用于开发高性能、可维护的原生模块…

day13-第一次摸底考试题及讲解

老男孩Linux77期第二周测试题: 01)请在/opt下创建oldboyedu目录,并在oldboyedu目录下创建dir1到dir5,共5个目录。 方法1: [rootoldboy ~]# mkdir /opt/oldboyedu -p [rootoldboy ~]# mkdir /opt/oldboyedu/dir{1…5}…

《拉依达的嵌入式\驱动面试宝典》—Linux篇(二)_uboot

《拉依达的嵌入式\驱动面试宝典》—Linux篇(二)_uboot 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《…