当前位置: 首页 > news >正文

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.lryc.cn/news/521273.html

相关文章:

  • 【git命令行】git pull冲突如何使用stash暂存,不提交当前工作的情况下临时保存修改
  • 浏览器输入http形式网址后自动跳转https解决方法
  • BertTokenizerFast 和 BertTokenizer 的区别
  • 【update 更新数据语法合集】.NET开源ORM框架 SqlSugar 系列
  • 测试人员面试需要掌握的内容
  • git 新建分支并推到远程分支
  • 【Uniapp-Vue3】showLoading加载和showModal模态框示例
  • PythonOpenCV图片识别
  • 构建优雅、高效的 Nodejs 命令行工具 - Archons
  • 你喜欢用什么编辑器?
  • 鸿蒙报错Init keystore failed: keystore password was incorrect
  • 【Flink】Flink内存管理
  • JVM:ZGC详解(染色指针,内存管理,算法流程,分代ZGC)
  • Docker常用命令大全
  • (12)springMVC文件的上传
  • 在Linux系统中无网络安装Nginx并配置负载均衡
  • Android车机DIY开发之软件篇(三)编译Automotive OS错误(1)
  • 基于网络爬虫技术的网络新闻分析【源码+文档+部署讲解】
  • uniapp区域滚动——上划进行分页加载数据(详细教程)
  • 机器学习(1):线性回归概念
  • 关于编写测试用例的细枝末节
  • 《计算机网络》课后探研题书面报告_了解PPPoE协议
  • Linux Centos 安装Jenkins到服务
  • 解决“无法定位程序输入点 av_buffer_create 于动态链接库 XXX\Obsidian.exe 上”问题
  • 基于考研概率论知识解读 Transformer:为何自注意力机制要除以根号 dk
  • 网络安全学习81天(记录)
  • MATLAB学习笔记-table
  • mybatisPlus(条件构造器API)
  • 5G+工业互联网迈入规模化发展新阶段
  • 【CI/CD构建】关于不小心将springMVC注解写在service层