[Python]黑色背景白色块滑动视频

黑色背景白色块滑动视频,单帧效果如下:
[Python]黑色背景白色块滑动视频_第1张图片

配置参数

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)

你可能感兴趣的:(python,音视频,opencv)