import pandas as pd
import numpy as np
path = 'see_wjs_natural_LED_left.txt'
df = pd.read_table(path, sep=',', header=None)
df.columns = ['timestamp', 'x', 'y', 'p']
dt = 33333
t0 = 1677134069710341
T = 299
data = np.zeros([T, 2, 260, 346])
for i in range(T):
t_start = t0 + dt * i
t_end = t0 + dt * (i + 1)
# 第一个小于等于的位置
t_start_ind = df['timestamp'].searchsorted(t_start, side='right')
t_end_ind = df['timestamp'].searchsorted(t_end, side='left')
for ind in range(t_start_ind, t_end_ind + 1):
_, w, h, p = df.iloc[ind]
data[i, p, h, w] += 1
import cv2
import matplotlib.pyplot as plt
new_arr = np.zeros([T, 260, 346, 3])
for i in range(T):
arr = data[i]
new_arr[i,:,:,0] = arr[0,:,:]
new_arr[i,:,:,1] = arr[1,:,:]
np.save('new_arr.npy', new_arr)
import time
s = time.time()
for i in range(T):
cv2.imshow('abc', new_arr[i])
cv2.waitKey(1)
print(time.time()-s)
import cv2
import os
import random
new_arr = np.load('new_arr.npy')
print(new_arr.shape)
path = 'wjs_natural_LED_left'
fps = 30
size = (260, 346) # 获取图片宽高度信息
print(size)
fourcc = cv2.VideoWriter_fourcc(*"mp4v")
videoWrite = cv2.VideoWriter('output_frame.mp4', fourcc, fps, size) # 根据图片的大小,创建写入对象 (文件名,支持的编码器,25帧,视频大小(图片大小))
files = os.listdir(path)
for i in range(T):
img = new_arr[i]
# print(i)
videoWrite.write(img) # 将图片写入所创建的视频对象
videoWrite.release()
10-09
08-11
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交