python&opencv 色彩空间及特定颜色物体的追踪

对特定颜色的追踪是基于颜色空间的应用,其原理呢是类似于二值化,显示某一范围内的数值,(基于hsv)。

下面是代码演示:

import  cv2
import  numpy as np

capture = cv2.VideoCapture('E:\python\VID_20180522_132108.mp4')#读取视频
while True:
    ret, frame = capture.read()#读取视频的一帧
    if ret == False:
        break

    frame = cv2.resize(frame,(640,350))#改变每一帧图像的宽和高


    hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)#转变成hsv

    lower_hsv = np.array([35,43,45])
    upper_hsv = np.array([77,255,255])#范围

    mask = cv2.inRange(hsv,lower_hsv,upper_hsv)
    dst = cv2.bitwise_and(frame,frame,mask=mask)#提取特定颜色


    cv2.imshow('video',frame)
    cv2.imshow('mask',mask)
    cv2.imshow('dst',dst)

    c = cv2.waitKey(40)
    if c ==27:
        break

显示效果:
这里写图片描述这里写图片描述这里写图片描述

下面是基于经验获得的各种颜色的范围:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/songjinxaing/article/details/80487430