【深度學習】使用opencv在視頻上添加文字和標記框


深度學習識別出視頻的物體之后,需要在視頻上畫框標記出來。

接下來介紹如何使用python在視頻上畫框和文字

#!/usr/bin/env python
# -*- coding:utf-8 -*-
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

 

主要用到cv2的兩個函數,cv2.rectangle(圖像, (矩形左上角坐標), (矩形右下角坐標), (矩形顏色), 線條粗細)

cv2.rectangle(frame, (left_x_up, left_y_up), (right_x_down, right_y_down), (55,255,155), 5)

cv2.putText(圖像, 要寫入的內容, (文字坐標), 字體, 字號, (字體顏色), 字體粗細)

cv2.putText(frame, 'frame_%s' %frame_id, (word_x, word_y), cv2.FONT_HERSHEY_SIMPLEX, 1, (55,255,155), 2)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM