首页 > 解决方案 > Python视频分析——检测颜色变化和时间戳

问题描述

我正在尝试使用 OpenCV 分析右上角的 10 分钟绿色视频,并在每次出现绿色时打印出时间戳。我使用 meanshift 并尝试将其拆分为帧,但 10 分钟长的视频需要很多帧 - 特别是因为我试图准确。

我正在考虑掩盖绿色,但没有办法打印时间戳......关于我应该使用哪些包或工具的任何提示?

这就是我所拥有的,我基本上已经尝试过 OpenCV 中的所有内容,但我以前从未使用过它,所以我迷路了......

import cv2 
import numpy as np  

cap = cv2.VideoCapture('video.mp4')  

# This drives the program into an infinite loop. 
while(1):        
    # Captures the live stream frame-by-frame 
    _, frame = cap.read()  
    # Converts images from BGR to HSV 
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) 
    lower_red = np.array([121, 240, 9]) # darker green
    upper_red = np.array([254,255,255])  # white green

# Defining range of green color in HSV 
# This creates a mask
mask = cv2.inRange(hsv, lower_red, upper_red) 

# that only the green coloured objects are highlighted  

res = cv2.bitwise_and(frame,frame, mask= mask) 
cv2.imshow('frame',frame)
cv2.imshow('mask',mask) 
cv2.imshow('res',res) 

k = cv2.waitKey(5) & 0xFF
# if k == 27: break

# Destroys all of the HighGUI windows. 
cv2.destroyAllWindows() 

# release the captured frame 
cap.release() 

分割帧给了我数千张图像,而仅仅阅读视频并没有给我时间戳,这正是我希望它打印出来的。谢谢!

标签: pythonnumpyopencvcomputer-vision

解决方案


推荐阅读