1. 程式人生 > 其它 >Python OpenCV 在視訊上新增文字後儲存視訊

Python OpenCV 在視訊上新增文字後儲存視訊

技術標籤:python OpenCV

import cv2
#原始檔名
video = "demo.mp4"
#執行後儲存的檔名
result_video = "demo-result.mp4"
#讀取視訊
cap = cv2.VideoCapture(video)
#獲取視訊幀率
fps_video = cap.get(cv2.CAP_PROP_FPS)
#設定寫入視訊的編碼格式
fourcc = cv2.VideoWriter_fourcc(*"mp4v")
#獲取視訊寬度
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
#獲取視訊高度
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
####重要
videoWriter = cv2.VideoWriter(result_video, fourcc, fps_video, (frame_width, frame_height))

#####可以做其他更改
frame_id = 0
while (cap.isOpened()):
    ret, frame = cap.read()
    if ret == True:
        frame_id += 1
        left_x_up = int(frame_width / frame_id)
        left_y_up = int(frame_height / frame_id)
        right_x_down = int(left_x_up + frame_width / 10)
        right_y_down = int(left_y_up + frame_height / 10)
        #文字座標
        word_x = left_x_up + 5
        word_y = left_y_up + 25
        cv2.rectangle(frame, (left_x_up, left_y_up), (right_x_down, right_y_down), (55,255,155), 5)
        cv2.putText(frame, 'frame_%s' %frame_id, (word_x, word_y), cv2.FONT_HERSHEY_SIMPLEX, 1, (55,255,155), 2)

        #****寫入視訊
        videoWriter.write(frame)
    else:
        videoWriter.release()
        break