1.背景

阅读官方文档/手册,学习openCV的过程中遇到的练习题,记录一下。

练习题

  1. 尝试找到一种方法来提取多个彩色对象,例如,同时提取红色,蓝色,绿色对象。

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练习题实现] 尝试找到一种方法来提取多个彩色对象,例如,同时提取红色,蓝色,绿色对象。相关推荐

  1. 使用OpenCV进行人脸识别的三种方法

    1 简介 OpenCV从版本2.4开始,加入了一个类FaceRecognizer,使用它可以方便的地进行人脸识别(源代码,在OpenCV的opencv\modules\contrib\doc\face ...

  2. 移动硬盘中剪切的文件能恢复吗?可尝试这四种方法找回

    在使用移动硬盘时,我们所存储的数据很容易出现意外丢失.被删除.受到病毒感染等方方面面的问题.而如果你使用的是剪切操作,而不是复制操作来移动文件,那么在操作过程中很容易因为各种原因导致数据丢失.如果你遇 ...

  3. 聚苯乙烯PS彩色胶乳微球:红色/蓝色/黑色/绿色胶乳微球介绍和制备方法

    聚苯乙烯PS彩色胶乳微球,红色胶乳微球 蓝色胶乳微球 黑色胶乳微球 绿色胶乳微球等多种颜色微球粒径50nm~500nm,和小编一起来看! 单分散彩色胶乳微球(多种规格尺寸 表面修饰羧基 氨基 环氧基 ...

  4. openCV、C++处理影像的五种方法(Wallis、直方图、xy拉伸、翻转、旋转)

    1.Wallis变换: 2.直方图:直方图均衡化算法.直方图匹配算法 C++ 代码_鸿儒517的博客-CSDN博客 运用equalizeHist()对彩色图像进行均衡化处理_邓文尧的博客-CSDN博客 ...

  5. 有效ip地址_本地连接没有有效IP配置,可尝试这3种方法,轻松解决此问题

    很多朋友在使用电脑的过程中,突然发现本地连接提示"没有有效IP配置",但又不知道是什么原因导致的.本期文章就教教大家如何解决此类问题. 一.修改本地连接IP 当电脑连接网络提示&q ...

  6. Python——基于OpenCV获取倾斜子图的一种方法

    解决方案 #!usr/bin/env python # -*- coding:utf-8 _*- """ @version: 0.0.1 author: ShenTuZh ...

  7. opencv畸变校正的两种方法

    opencv中畸变校正有两种方法 (1)undistort() //直接进行畸变校正 void cv::undistort ( InputArray src, // 原始图像OutputArray d ...

  8. 程序员写的数字代表什么_代表性不足的国家的程序员可以取得成功的6种方法...

    程序员写的数字代表什么 要成为像喀麦隆这样代表性不足的社区的程序员很难. 许多非洲人甚至都不知道计算机编程是什么,并且很多人确实认为这仅适用于西方或亚洲国家的人们. 直到18岁时我才拥有计算机,直到1 ...

  9. Chrome插件安装的3种方法,解决拖放不能安装的情况,并提供插件下载

    本文摘录于Chrome插件网站 方法一:拖放安装 下载插件的crx文件后,打开Chrome的扩展页面(chrome://extensions/或按Chrome菜单图标>更多工具>扩展程序) ...

  10. 笔记本电脑没有WiFi选项,3个小时,我试了以下N种方法,终于出现网络了!

    问题描述 博主电脑昨晚七点左右,工作的好好的,突然蓝屏,显示"出现问题,需要自动重启".然后重启之后,我看WIFi里面没有找到任何网络. 我就和往常一样,使用疑难解答,何曾想到,检 ...

最新文章

  1. 论文简述 | 无需校正和不失真的实时变化的鱼眼双目
  2. 紫书 习题7-14 UVa 307(暴搜+剪枝)
  3. SHA1加密(简单)
  4. python怎样实现封装_python 封装底层实现原理
  5. java 内省学习笔记
  6. lightbox自定义图片大小的实现
  7. 2019.3.9笔试
  8. vs2017官方下载地址
  9. Android 如何获取系统签名 并使用系统签名
  10. 谷歌浏览器永久打开Flash插件
  11. Word 2010页眉页脚从某一页开始
  12. 机器学习笔记 - 探索性数据分析(EDA) 概念理解
  13. python发送邮件 退回_用python发邮件给gmail用户,被gmail当成spam退回
  14. Oracle第十五章:视图
  15. python[爬虫]爬取百万条新浪新闻 新浪滚动新闻中心(多进程)
  16. 利用开放的isbn查询Api接口录入图书信息,工作效率倍增
  17. 最近知识的总结与复习
  18. 深入剖析搜索引擎:了解搜索技术背后的神秘工作原理!
  19. android 通过service 执行AlarmManager 自动更换壁纸
  20. Linux wget错误,证书无效过期,ERROR: The certificate of ‘mirrors.cnnic.cn‘ has expired.

热门文章

  1. QQ空间快速登录地址
  2. UVA 10066 10192
  3. 浏览器主页被篡改怎么办?一分钟帮你解决
  4. 安装Linux启动盘【准备8G以上U盘即可】
  5. 单张像片空间后方交会
  6. Down Payment一个不错的练习
  7. 磁共振线圈分类_磁共振线圈的发展历程
  8. 【Leetcode】347. 前 K 个高频元素
  9. 赛式方法论(上):为什么你的游戏做不完、做得烂?
  10. 码云推送代码后不显示贡献度