python + opencv 图像处理(五)——颜色追踪

  1. 追踪视频中的颜色
  2. 对图片通道的分离与合并
from cv2 import cv2 as cv
import numpy as np 

def video_demo():
    # VideoCapture.open
    capture = cv.VideoCapture('C:\\pictures\\videos\\1.mp4')
    while True:
        ret,frame = capture.read()
        if ret == False:
            break
        hsv = cv.cvtColor(frame,cv.COLOR_BGR2HSV)
        # 根据那个表可以修改所想的颜色,可以追踪中视频中的颜色
        lower_hsv = np.array([156,43,46])
        upper_hsv = np.array([180,255,255])
        mask = cv.inRange(hsv,lowerb=lower_hsv, upperb=upper_hsv)
        # 小技巧,所显示的是所需要的颜色部分
        dst = cv.bitwise_and(frame,frame,mask=mask)
        cv.imshow('dst',dst)

        cv.imshow('video',frame)
        cv.imshow('mask',mask)
        c = cv.waitKey(40)
        if c == 27 :
            break  

'''
filepath = "C:\\pictures\\0.jpg"
img = cv.imread(filepath)       # blue green red
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",img)
# 通道的分离与合并
b,g,r = cv.split(img)
cv.imshow('blue',b)
cv.imshow('green',g)
cv.imshow('red',r)

img[:,:,2] = 0  #把红色去掉了  
img = cv.merge([b,g,r])  #通道合起来
cv.imshow('changed image',img)
'''
video_demo()
cv.waitKey(0)
cv.destroyAllWindows()

这是我在网上找的一个视频,通过追踪视频的某个颜色(以红色为例)效果如下:
python + opencv 图像处理(五)——颜色追踪_第1张图片
python + opencv 图像处理(五)——颜色追踪_第2张图片
python + opencv 图像处理(五)——颜色追踪_第3张图片
python + opencv 图像处理(五)——颜色追踪_第4张图片

你可能感兴趣的:(opencv,opencv,python)