[OpenCV练习题实现] 尝试找到一种方法来提取多个彩色对象,例如,同时提取红色,蓝色,绿色对象。
1.背景
阅读官方文档/手册,学习openCV的过程中遇到的练习题,记录一下。
练习题
- 尝试找到一种方法来提取多个彩色对象,例如,同时提取红色,蓝色,绿色对象。
2. 代码部分
import cv2 as cv
import numpy as npcap = cv.VideoCapture(0)while (1):# 读取帧_, frame = cap.read()# 转换颜色空间 BGR 到 HSVhsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)# 定义HSV中蓝色的范围lower_blue = np.array([106, 43, 46])upper_blue = np.array([130, 255, 255])# 设置HSV的阈值使得只取蓝色mask_B = cv.inRange(hsv, lower_blue, upper_blue)lower_green = np.array([35, 43, 46])upper_green = np.array([77, 255, 255])mask_G = cv.inRange(hsv, lower_green, upper_green)lower_red1 = np.array([0, 43, 46])upper_red1 = np.array([20, 255, 255])mask_R1 = cv.inRange(hsv, lower_red1, upper_red1)lower_red2 = np.array([150, 43, 46])upper_red2 = np.array([180, 255, 255])mask_R2 = cv.inRange(hsv, lower_red2, upper_red2)mask=mask_B+mask_G+mask_R1+mask_R2#mask = mask_R1 + mask_R2# dst = cv.inRange( src, lowerb, upperb[, dst] )# 将掩膜和图像逐像素相加res = cv.bitwise_and(frame, frame, mask=mask)# dst = cv.bitwise_and( src1, src2[, dst[, mask]] )cv.imshow('frame', frame)cv.imshow('mask', mask)cv.imshow('res', res)k = cv.waitKey(5) & 0xFFif k == 27:break
cv.destroyAllWindows()
3. 演示效果
用Ipad测试了一下,效果还不错,范围内噪音也比较少。
实现方法肯定不止一种,如果您有其他方法,欢迎留言交流~
[OpenCV练习题实现] 尝试找到一种方法来提取多个彩色对象,例如,同时提取红色,蓝色,绿色对象。相关推荐
- 使用OpenCV进行人脸识别的三种方法
1 简介 OpenCV从版本2.4开始,加入了一个类FaceRecognizer,使用它可以方便的地进行人脸识别(源代码,在OpenCV的opencv\modules\contrib\doc\face ...
- 移动硬盘中剪切的文件能恢复吗?可尝试这四种方法找回
在使用移动硬盘时,我们所存储的数据很容易出现意外丢失.被删除.受到病毒感染等方方面面的问题.而如果你使用的是剪切操作,而不是复制操作来移动文件,那么在操作过程中很容易因为各种原因导致数据丢失.如果你遇 ...
- 聚苯乙烯PS彩色胶乳微球:红色/蓝色/黑色/绿色胶乳微球介绍和制备方法
聚苯乙烯PS彩色胶乳微球,红色胶乳微球 蓝色胶乳微球 黑色胶乳微球 绿色胶乳微球等多种颜色微球粒径50nm~500nm,和小编一起来看! 单分散彩色胶乳微球(多种规格尺寸 表面修饰羧基 氨基 环氧基 ...
- openCV、C++处理影像的五种方法(Wallis、直方图、xy拉伸、翻转、旋转)
1.Wallis变换: 2.直方图:直方图均衡化算法.直方图匹配算法 C++ 代码_鸿儒517的博客-CSDN博客 运用equalizeHist()对彩色图像进行均衡化处理_邓文尧的博客-CSDN博客 ...
- 有效ip地址_本地连接没有有效IP配置,可尝试这3种方法,轻松解决此问题
很多朋友在使用电脑的过程中,突然发现本地连接提示"没有有效IP配置",但又不知道是什么原因导致的.本期文章就教教大家如何解决此类问题. 一.修改本地连接IP 当电脑连接网络提示&q ...
- Python——基于OpenCV获取倾斜子图的一种方法
解决方案 #!usr/bin/env python # -*- coding:utf-8 _*- """ @version: 0.0.1 author: ShenTuZh ...
- opencv畸变校正的两种方法
opencv中畸变校正有两种方法 (1)undistort() //直接进行畸变校正 void cv::undistort ( InputArray src, // 原始图像OutputArray d ...
- 程序员写的数字代表什么_代表性不足的国家的程序员可以取得成功的6种方法...
程序员写的数字代表什么 要成为像喀麦隆这样代表性不足的社区的程序员很难. 许多非洲人甚至都不知道计算机编程是什么,并且很多人确实认为这仅适用于西方或亚洲国家的人们. 直到18岁时我才拥有计算机,直到1 ...
- Chrome插件安装的3种方法,解决拖放不能安装的情况,并提供插件下载
本文摘录于Chrome插件网站 方法一:拖放安装 下载插件的crx文件后,打开Chrome的扩展页面(chrome://extensions/或按Chrome菜单图标>更多工具>扩展程序) ...
- 笔记本电脑没有WiFi选项,3个小时,我试了以下N种方法,终于出现网络了!
问题描述 博主电脑昨晚七点左右,工作的好好的,突然蓝屏,显示"出现问题,需要自动重启".然后重启之后,我看WIFi里面没有找到任何网络. 我就和往常一样,使用疑难解答,何曾想到,检 ...
最新文章
- 论文简述 | 无需校正和不失真的实时变化的鱼眼双目
- 紫书 习题7-14 UVa 307(暴搜+剪枝)
- SHA1加密(简单)
- python怎样实现封装_python 封装底层实现原理
- java 内省学习笔记
- lightbox自定义图片大小的实现
- 2019.3.9笔试
- vs2017官方下载地址
- Android 如何获取系统签名 并使用系统签名
- 谷歌浏览器永久打开Flash插件
- Word 2010页眉页脚从某一页开始
- 机器学习笔记 - 探索性数据分析(EDA) 概念理解
- python发送邮件 退回_用python发邮件给gmail用户,被gmail当成spam退回
- Oracle第十五章:视图
- python[爬虫]爬取百万条新浪新闻 新浪滚动新闻中心(多进程)
- 利用开放的isbn查询Api接口录入图书信息,工作效率倍增
- 最近知识的总结与复习
- 深入剖析搜索引擎:了解搜索技术背后的神秘工作原理!
- android 通过service 执行AlarmManager 自动更换壁纸
- Linux wget错误,证书无效过期,ERROR: The certificate of ‘mirrors.cnnic.cn‘ has expired.