黑色背景白色块滑动视频,单帧效果如下:
配置参数
1920 1080 400 400 300 60 1920x1080.avi
import numpy as np
import cv2 as cv
import os
import sys
width = 1920
height = 1080
rect_szx = 400
rect_szy = 300
sz_y_init = 400
fps = 24
width = int(sys.argv[1])
height = int(sys.argv[2])
sz_y_init = int(sys.argv[3])
rect_szx = int(sys.argv[4])
rect_szy = int(sys.argv[5])
fps = int(sys.argv[6])
file_name = sys.argv[7]
# 创建指定宽高、3通道、像素值都为0的图像
img = np.zeros((height, width, 3), np.uint8)
st_x = 0
st_y = 0
sz_x = 0
sz_y = 0
videoWriter = cv.VideoWriter(file_name, cv.VideoWriter_fourcc('X', 'V', 'I', 'D'), fps, (width, height))
for j in range(0, 5):
for i in range(0, width + rect_szx, 20):
if i < rect_szx:
st_x = 0
st_y = sz_y_init
sz_x = i
sz_y = rect_szy
if i >= rect_szx and i < width:
st_x = i - rect_szx
st_y = sz_y_init
sz_x = rect_szx
sz_y = rect_szy
if i >= width and i < width + rect_szx:
st_x = i - rect_szx
st_y = sz_y_init
sz_x = width - st_x
sz_y = rect_szy
# print(st_x, ":", (st_x + sz_x))
# print(st_y, ":", (st_y + sz_y))
img_dst = img.copy()
img_dst[st_y : (st_y + sz_y),st_x : (st_x + sz_x),0] = 255
img_dst[st_y : (st_y + sz_y),st_x : (st_x + sz_x),1] = 255
img_dst[st_y : (st_y + sz_y),st_x : (st_x + sz_x),2] = 255
videoWriter.write(img_dst)
# cv.imwrite("test.jpg", img_dst)
# cv.imshow("black", img_dst)
# cv.waitKey(30)
# cv.destroyAllWindows()
videoWriter.write(img)