OpenCV + Python 实现视频色彩分割

版权声明:如需转载请标注 https://blog.csdn.net/weixin_40973138/article/details/84485263

实现色彩分割基本步骤

其原理同静态图像色彩分割一致:OpenCV + Python 实现静态图像色彩分割


Created with Raphaël 2.2.0 开始 开启摄像头或输入地址导入视频 获取每一帧图像信息 对每一帧进行色彩空间转换 设置要分离出来的颜色所对应BGR 色彩空间的上下限 依据设定的上下限对每一帧进行二值化转换 将得到的二值化图像与原图进行“与”操作 结束

在这里插入图片描述

Code:

#--coding: utf-8--
import cv2 as cv
import numpy as np


def color_seperate():
        capture = cv.VideoCapture('/home/pi/Desktop/绿裤子.mp4')   #导入视频
        while True:
                ret, frame = capture.read()   #获取每一帧图像信息
                hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)   #将BGR 转化为HSV 
                lower_hsv = np.array([25, 30, 30])   #设定目标颜色上下限
                upper_hsv = np.array([77, 255, 46])
                mask = cv.inRange(hsv, lowerb=lower_hsv, upperb=upper_hsv)   #开始分割绿色
                dst = cv.bitwise_and(frame, frame, mask=mask)   #实际是提取前两个frame 的“与”结果,然后输出mask 为1的部分
                cv.imshow('video', frame)
                cv.imshow('result', dst)
                c = cv.waitKey(40)
                if cv.waitKey(50) & 0xFF == ord('q'):
                        break


color_seperate()
cv.waitKey(0)
cv.destoryAllWindows()

结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40973138/article/details/84485263