OpenCV HSV物体跟踪

简介: OpenCV HSV物体跟踪

       我们可以利用BGR 转换到 HSV来提取带有某个特定颜色的物体。在 HSV 颜色空间中要比在 BGR 空间 中更容易表示一个特定颜色。在我们的程序中,我们要提取的是一个蓝色的物 体。下面就是就是我们要做的几步:

1.从视频中获取每一帧图像 将图像转换到 HSV 空间

2.设置 HSV 阈值到蓝色范围。

3.获取蓝色物体,当然我们还可以做其他任何我们想做的事,比如:在蓝色 物体周围画一个圈。

下面就是我们的代码:

import cv2
import numpy as np
cap=cv2.VideoCapture(0)
while(1):
# 获取每一帧
ret,frame=cap.read()
# 转换到 HSV
hsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
# 设定蓝色的阈值
lower_blue=np.array([110,50,50])
upper_blue=np.array([130,255,255])
# 根据阈值构建掩模
mask=cv2.inRange(hsv,lower_blue,upper_blue)
# 对原图像和掩模进行位运算
res=cv2.bitwise_and(frame,frame,mask=mask)
# 显示图像
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
k=cv2.waitKey(5)&0xFF
if k==27:
break
# 关闭窗口
cv2.destroyAllWindows()

找到 HSV

     函数 cv2.cvtColor() ,传入的参数是BGR 。例如,我们要找到绿色的 HSV 值,我们只需在终 端输入以下命令:

import cv2
import numpy as np
 
green=np.uint8([[[0,255,0]]])
hsv_green=cv2.cvtColor(green,cv2.COLOR_BGR2HSV)
print(hsv_green)

[[[ 60 255 255 ]]]

现在你可以分别用 [H-100 , 100 , 100] 和 [H+100 , 255 , 255] 做上下阈值。

相关文章
|
2月前
|
计算机视觉 C++
基于VS2019和Opencv4,对hsv颜色空间的图像分割原理以及实现
这篇文章介绍了基于HSV颜色空间的图像分割原理,包括HSV模型的基本概念和如何在OpenCV中通过设置HSV的色彩范围来实现图像中特定颜色的物体分割,并通过示例代码展示了在静态图像和视频流中进行颜色分割的方法。
基于VS2019和Opencv4,对hsv颜色空间的图像分割原理以及实现
|
5月前
|
存储 计算机视觉 流计算
【OpenCV】计算视频的光流并跟踪物体calcOpticalFlowPyrLK
【OpenCV】计算视频的光流并跟踪物体calcOpticalFlowPyrLK
183 0
|
5月前
|
计算机视觉
【OpenCV】-物体的凸包
【OpenCV】-物体的凸包
|
5月前
|
计算机视觉
OpenCV中GRAY、HSV色彩空间的简介及与BGR色彩空间的转换演示(附源码 超详细)
OpenCV中GRAY、HSV色彩空间的简介及与BGR色彩空间的转换演示(附源码 超详细)
180 0
|
机器学习/深度学习 算法 决策智能
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(下)
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(下)
343 0
|
存储 机器学习/深度学习 编解码
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(上)
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(上)
374 0
|
机器学习/深度学习 并行计算 算法
手把手教你使用LabVIEW OpenCV dnn实现物体识别(Object Detection)含源码
今天和大家一起分享如何使用LabVIEW调用pb模型实现物体识别
131 0
【opencv3】透视变换后帧差法检测运动物体C++
【opencv3】透视变换后帧差法检测运动物体C++
|
计算机视觉 索引
物体追踪实战:使用 OpenCV实现对指定颜色的物体追踪
物体追踪实战:使用 OpenCV实现对指定颜色的物体追踪
331 0
物体追踪实战:使用 OpenCV实现对指定颜色的物体追踪
|
算法 C++ 计算机视觉
寻找复杂背景下物体的轮廓(OpenCV / C++ - Filling holes)
一、问题提出 这是一个来自"answerOpenCV"(http://answers.opencv.org/question/200422/opencv-c-filling-holes/)整编如下: title:OpenCV / C++ - Filling holes content: H...
2765 0