对视频中的移动物体进行跟踪

前言:在HSV颜色空间中要比在BGR空间中更容易表示一个特定颜色。

方法步骤:

1.从视频中获取每一帧图像

2.将图像颜色空间转换为HSV颜色空间

3.设置HSV阈值到蓝色(跟踪色)范围

4.获取蓝色物体

代码如下:

import cv2
import numpy as np
vidcap = cv2.VideoCapture('005.avi')
success, frame = vidcap.read()
count = 0
success = True
while success:
    success, frame = vidcap.read()    #读取视频中的每一帧图像
    hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)   #将帧图像格式转换到HSV格式
    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)
    if cv2.waitKey(10) == 27:
        break
    count += 1
cv2.destroyWindow()

结果:

对视频中的移动物体进行跟踪_第1张图片


你可能感兴趣的:(python_opencv)