This article mainly introduces the ultra-simple video object extraction function implemented in python, which has certain reference value. Now I share it with everyone. Friends in need can refer to it
Video object extraction
# is not so much video object extraction as video color extraction, because its essence still uses OpenCV’s HSV color object detection. Not much to say below, let’s take a look at the detailed introduction.
HSV introduction
HSV stands for hue (H: hue), saturation (S: saturation), brightness ( V: value), a color space created by A. R. Smith in 1978, also called the Hexcone Model;
Hue (H: hue): measured in angle, with a value range of 0°~360°, starting from red and counting in counterclockwise direction, red is 0°, green is 120°, and blue is 240°. Their complementary colors are: yellow is 60°, cyan is 180°, and magenta is 300°; (the value range of H in OpenCV is 0~180, when 8bit is stored);
Saturation (S: saturation): The value range is 0~255. The larger the value, the more saturated the color;
Brightness (V: value): The value range is 0 (black) ~ 255 (white);
Effect display
#Implementation ideas
Full code
#coding=utf-8 #HSV转换(颜色提取) import cv2 import numpy as np cap = cv2.VideoCapture(0) while (1): _, frame = cap.read() hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) #在PS里用取色器的HSV psHSV = [112, 89, 52] diff = 40 #上下浮动值 #因为PS的HSV(HSB)取值是:0~360、0~1、0~1,而OpenCV的HSV是:0~180、0~255、0~255,所以要对ps的hsv进行处理,H/2、SV*255 lowerHSV = [(psHSV[0] - diff) / 2, (psHSV[1] - diff) * 255 / 100, (psHSV[2] - diff) * 255 / 100] upperHSV = [(psHSV[0] + diff) / 2, (psHSV[1] + diff) * 255 / 100, (psHSV[2] + diff) * 255 / 100] mask = cv2.inRange(hsv, np.array(lowerHSV), np.array(upperHSV)) #使用位“与运算”提取颜色部分 res = cv2.bitwise_and(frame, frame, mask=mask) #使用高斯模式优化图片 res = cv2.GaussianBlur(res, (5, 5), 1) cv2.imshow('frame', frame) # cv2.imshow('mask', mask) cv2.imshow('res', res) if cv2.waitKey(1) & 0xFF == ord('q'): break cv2.destroyAllWindows()
Using Python to implement video download function example code
##
The above is the detailed content of Python implements ultra-simple video object extraction function. For more information, please follow other related articles on the PHP Chinese website!