【python】OpenCV—Color Detection

在这里插入图片描述

学习来自 如何使用 OpenCV Python 检测颜色

import cv2
import numpy as npdef red_hsv(img, save=False):lower_hsv1 = np.array([0, 175, 20])higher_hsv1 = np.array([10, 255, 255])lower_hsv2 = np.array([170, 175, 20])higer_hsv2 = np.array([10, 255, 255])mask1 = cv2.inRange(img, lower_hsv1, higher_hsv1)mask2 = cv2.inRange(img, lower_hsv2, higer_hsv2)if save:cv2.imwrite("red-mask-1.jpg", mask1)cv2.imwrite("red-mask-2.jpg", mask2)cv2.imwrite("red-mask.jpg", mask1+mask2)return mask1 + mask2def green_hsv(img, save=False):lower_hsv1 = np.array([40, 150, 20])higher_hsv1 = np.array([70, 255, 255])mask1 = cv2.inRange(img, lower_hsv1, higher_hsv1)if save:cv2.imwrite("green-mask-1.jpg", mask1)return mask1if __name__ == "__main__":bgr = cv2.imread("1.png")hsv = cv2.cvtColor(bgr, cv2.COLOR_BGR2HSV)cv2.imwrite("hsv.jpg", hsv)mask = red_hsv(hsv, save=True) + green_hsv(hsv, save=True)cv2.imwrite("mask.jpg", mask)result = cv2.bitwise_and(bgr, bgr, mask=mask)cv2.imshow("color detection", result)cv2.waitKey(0)cv2.destroyAllWindows()

转成 hsv 色域,来过滤掉相应的颜色

在这里插入图片描述
H 根据 x 轴取值,S 根据 y 轴取值,V 始终在 (20-255) 之间的范围内取值

bitwise_and,输出图像像素只有mask对应位置元素不为0的部分才输出,否则该位置像素的所有通道分量都设置为0

看看结果

输入图片
在这里插入图片描述

hsv

在这里插入图片描述

red-mask-1
在这里插入图片描述

red-mask-2

在这里插入图片描述

red-mask

在这里插入图片描述

green-mask-1

在这里插入图片描述

在这里插入图片描述
result
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/336788.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32--ADC

一、简介 *ADC(Analog-Digital Converter)模拟-数字转换器 *ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 *12位逐次逼近型ADC,1us转换时间 *输入电压范围:0~3.3V&…

鸿蒙ArkTS声明式开发:跨平台支持列表【背景设置】 通用属性

背景设置 设置组件的背景样式。 说明: 开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版…

备份数据怎么恢复?从入门到精通,2个技巧读懂!

在数字时代,数据的重要性不言而喻。无论是个人还是企业,数据都是我们生活和工作的核心,但由于各种原因,数据丢失的情况时有发生。为了应对这种情况,备份数据成为了一个必要的措施。可当数据真的丢失时,备份…

3D工业视觉

前言 本文主要介绍3D视觉技术、工业领域的应用、市场格局等,主要技术包括激光三角测量、结构光、ToF、立体视觉。 一、核心内容 3D视觉技术满足工业领域更高精度、更高速度、更柔性化的需求,扩大工业自动化的场景。 2D视觉技术基于物体平面轮廓&#…

CentOS 7基础操作01_安装CentOS 7操作系统

1、实验环境 因为 Windows图形界面占用系统资源较高,所以公司准备将面向互联网的网站,数据库等重要应用基于Linux平台部署,并计划于近期将服务器安装开源免费的 CentOS 系统。进行前期准备工作时,需要公司的系统管理员尽快掌握 CentOS 系统的安装过程 2、需要描述 …

《QT实用小工具·六十九》基于QT开发的五子棋AI游戏

1、概述 源码放在文章末尾 该项目实现了五子棋对战AI,可以享受和AI下棋的快乐,项目实现思路如下: 博弈树 ●Alpha-Beta剪枝(性能提高较大) ●启发式搜索(性能提高较大) ●落子区域限制(性能提高较大) ●Zobrist哈希(性能小幅提升) ●Qt…

能拖拽生成几个图表,就叫BI,就叫低代码,顶多算个报表工具

一、什么是BI BI(Business Intelligence)是指通过数据分析和可视化工具来帮助企业做出决策的过程和技术。它远远不止于简单的拖拽生成图表,而是通过对数据的深入分析和挖掘,提供更全面、准确的信息支持。 BI(Business…

RxSwift - 实现一个MVVM架构的TableView

文章目录 RxSwift - 实现一个MVVM架构的TableView前沿MVVM架构的Tableview目录结构1、模型(Model)2、视图模型(ViewModel)3、视图(View) 界面效果 RxSwift - 实现一个MVVM架构的TableView 前沿 MVVM架构在…

算法(七)插入排序

文章目录 插入排序简介代码实现 插入排序简介 插入排序(insertion sort)是从第一个元素开始,该元素就认为已经被排序过了。然后取出下一个元素,从该元素的前一个索引下标开始往前扫描,比该值大的元素往后移动。直到遇到比它小的元…

案例|开发一个美业小程序,都有什么功能

随着移动互联网的迅猛发展,美业连锁机构纷纷寻求数字化转型,以小程序为载体,提升服务效率,增强客户体验。 线下店现在面临的困境: 客户到店排队时间过长,体验感受差 新客引流难,老用户回头客…

链动3+1模式:数字化转型中的创新商业发展路径

在数字化时代,企业为了保持竞争力,不断探索和尝试新的商业模式。链动31模式作为一种创新的商业模式,以其独特的运作机制,为企业和个人带来了全新的发展机遇。本文将对链动31模式进行深入解析,并通过与传统链动模式的对…

【如何用爬虫玩转石墨文档?】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测

多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测 目录 多维时序 | Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现SA-BP模拟退火算法优化BP神经网络多变量时间序列预…

SpringSecurity6从入门到实战之Filter过滤器回顾

SpringSecurity6从入门到实战之Filter过滤器回顾 如果没有SpringSecurity这个框架,我们应该通过什么去实现客户端向服务端发送请求时,先检查用户是否登录,登录了才能访问.否则重定向到登录页面 流程图如下 官方文档:https://docs.spring.io/spring-security/referen…

【C#】类和对象的区别

1.区别概述 结构体和类的最大区别是在存储空间上,前者是值类型,后者是引用类型,它们在赋值上有很大的区别,在类中指向同一块空间的两个类的值会随一个类的改变而改变另一个,请看如下代码所示: namespace …

CV Method:经典CNN Backbone总结

文章目录 前言一、ResNet二、ResNeXt三、Res2Net四、SeNet五、ResNeSt六、DenseNet七、CSPNetPytorch Model Code总结 前言 Backbone作为一切深度学习任务的基础,不论是理论还是实际应用都有重要的意义,本文针对经典Backbone进行总结,这些Ba…

前端vue搭建

1.找一个合适的模板,可以用vue-element-admin的模板,但是个人认为这个模板太大了,做小项目修改起来比较复杂,可以找一个比较小的项目 2.我找的项目git clone https://github.com/tuture-dev/vue-admin-template.git,这…

【iOS】UI学习(一)

目录 前言前情内容:如何在xcode里创建UI项目UILabelUIButtonUIButton基础UIButton事件处理 UIviewUIView基础概念UIView的层级关系 UIWindow对象总结 前言 本篇博客主要介绍了iOS中UI学习的部分知识,即UILabel、UIButton、UiView、UIWindow的相关内容&am…

大坝安全监测自动化技术的规范化设计准则

大坝安全监测自动化技术的规范化设计准则 一、施工阶段自动化系统设计要点 在施工阶段,大坝安全监测自动化系统的设计应当涵盖以下几个核心内容: 监测仪器的布局规划及详细的施工图纸设计。 配套土建项目以及防雷设施的施工设计规划。 明确施工过程中的技…

7 步解决Android Studio模拟器切换中文输入

详细步骤传送地址:Android Studio 模拟器切换中文输入 目录 01 问题概述 02 模拟器的调试 01 问题概述 大家在使用Android Studio 软件进行项目演示时总会遇到一些输入框需要输入中文汉字的情况,由于AS自带的模拟器基本都是英文,这时就有同…