在一些动物行为实验当中,我们在有时候会观察一些实验变量对老鼠行为轨迹的影响,Python在视频分析中相对于其它语言有巨大优势,因此我们可以用python对小鼠的轨迹进行追踪,追踪效果如下所示:
图中的原理是通过小鼠和背景的巨大色差进行识别,我们只需要获取小鼠的HSV色彩空间范围即可,我们的代码和视频如下:
from collections import deque
import numpy as np
import cv2
# imutils
import time
#设定阈值,HSV空间
redLower = np.array([0, 0, 0])
redUpper = np.array([255, 0, 46])
#初始化追踪点的列表
mybuffer = 8400000
pts = deque(maxlen=mybuffer)
#打开摄像头
camera = cv2.VideoCapture('Test1.mp4')#Test1为我们需要追踪的视频文件名,可以自己更改,视频文件必须和该项目放在同一个文件中
#fourcc = cv2.VideoWriter_fourcc(*'XVID') # 保存文件为avi格式
#fps = camera.get(cv2.CAP_PROP_FPS)
#size = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)), int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT))) # 输出视频尺寸,长和宽
#out = cv2.VideoWriter('new_Test1.mp4', fourcc, fps, size) # 输出视频
#等待