前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图像处理笔记(4)----OpenCV对象追踪

图像处理笔记(4)----OpenCV对象追踪

作者头像
小火柴棒
发布2020-09-11 11:56:10
3830
发布2020-09-11 11:56:10
举报
文章被收录于专栏:石开之旅石开之旅

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

代码语言:javascript
复制
import cv2 as cv
import numpy as np

cap = cv.VideoCapture(0)
while (1):
    #读取帧
    _,frame = cap.read()
    #转换颜色空间BGR到HSV
    hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)
    # #定义HSV中蓝色的范围
    lower_blue = np.array([100, 50, 50])
    upper_blue = np.array([124, 255, 255])
    # #定义HSV中红色的范围
    lower_red = np.array([156, 50, 50])
    upper_red = np.array([180, 255, 255])
    #定义HSV中绿色的范围
    lower_green = np.array([35, 50, 50])
    upper_green = np.array([77, 255, 255])
    #设置HSV的阈值使得只取蓝色
    mask_blue = cv.inRange(hsv, lower_blue, upper_blue)
    mask_red = cv.inRange(hsv, lower_red, upper_red)
    mask_green = cv.inRange(hsv, lower_green, upper_green)
    
    #将掩膜和图像逐像素相加
    res_blue = cv.bitwise_and(frame, frame, mask= mask_blue)
    res_red = cv.bitwise_and(frame, frame, mask= mask_red)
    res_green = cv.bitwise_and(frame, frame, mask= mask_green)
    res_blue_red = cv.add(res_blue,res_red)
    res = cv.add(res_blue_red,res_green)
    cv.imshow('frame',frame)
    cv.imshow('mask_blue',mask_blue)
    cv.imshow('mask_red',mask_red)
    cv.imshow('mask_green',mask_green)
    cv.imshow('res_blue',res_blue)
    cv.imshow('res_red',res_red)
    cv.imshow('res_green',res_green)
    cv.imshow('res',res)
    k = cv.waitKey(5)&0xFF
    if k == 27:
        break
cv.destroyAllWindows()
r_g_b
r_g_b
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档