黑色背景白色块滑动视频,单帧效果如下:
配置参数
1920 1080 400 400 300 60 1920x1080.avi
import numpy as np
import cv2 as cv
import os
import syswidth = 1920
height = 1080
rect_szx = 400
rect_szy = 300
sz_y_init = 400
fps = 24width = 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 = 0st_y = sz_y_initsz_x = isz_y = rect_szyif i >= rect_szx and i < width:st_x = i - rect_szxst_y = sz_y_initsz_x = rect_szxsz_y = rect_szyif i >= width and i < width + rect_szx:st_x = i - rect_szxst_y = sz_y_initsz_x = width - st_xsz_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] = 255img_dst[st_y : (st_y + sz_y),st_x : (st_x + sz_x),1] = 255img_dst[st_y : (st_y + sz_y),st_x : (st_x + sz_x),2] = 255videoWriter.write(img_dst)# cv.imwrite("test.jpg", img_dst)# cv.imshow("black", img_dst)# cv.waitKey(30)# cv.destroyAllWindows()videoWriter.write(img)