Opencv对象追踪

举报
nineteens 发表于 2021/03/16 17:42:00 2021/03/16
【摘要】 Opencv对象追踪

  1 HSV上下限

    颜色的HSV上下限如下表:

  


  2 追踪单个颜色

  import cv2 as cv

  import numpy as np

  cap = cv.VideoCapture(0)

  lower_color = np.array([0, 43, 46])

  upper_color = np.array([10, 255, 255])

  while cap.isOpened():

  # 读取帧

  _, frame = cap.read()

  # 转换颜色空间 BGR 到 HSV

  hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)

  # 设置HSV的阈值使得只取某色

  mask = cv.inRange(hsv, lower_color, upper_color)

  # 将掩膜和图像逐像素相加

  res = cv.bitwise_and(frame, frame, mask=mask)

  # cv.imshow('frame', frame)

  cv.imshow('mask', mask)

  cv.imshow('res', res)

  if cv.waitKey(1) == ord("q"):

  break

  cv.destroyAllWindows()

    

  2 追踪多个颜色

  import cv2 as cv

  import numpy as np

  cap = cv.VideoCapture(0)

  lower_red = np.array([0, 43, 46])

  upper_red = np.array([10, 255, 255])

  lower_blue = np.array([100, 43, 46])

  upper_blue = np.array([124, 255, 255])

  while cap.isOpened():

  frame = cap.read()大连人流医院 http://www.dljzyyb.com/

  hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)

  mask1 = cv.inRange(hsv, lower_red, upper_red)

  mask2 = cv.inRange(hsv, lower_blue, upper_blue)

  mask = mask1 + mask2

  res = cv.bitwise_and(frame, frame, mask=mask)

  # cv.imshow('frame', frame)

  cv.imshow('mask', mask)

  cv.imshow('res', res)

  if cv.waitKey(1) == ord("q"):

  break

  cv.destroyAllWindows()

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。