opencv-pythonは画像シーケンスをビデオに変換します

追跡結果を画像として保存した後、デモ用に画像シーケンスをビデオに変換したり、アニメーション画像を作成してブログに挿入したりする場合があるため、以降のアクセスに使用するスクリプトは次の
とおりです。mycv2バージョンは41.0です

img2video.py

import os
import cv2

# image path
im_dir = '/home/lsm/PycharmProjects/py-MDNet/results/Biker/figs'
# output video path
video_dir = '/home/lsm/PycharmProjects/py-MDNet/demo'
if not os.path.exists(video_dir):
    os.makedirs(video_dir)
# set saved fps
fps = 20
# get frames list
frames = sorted(os.listdir(im_dir))
# w,h of image
img = cv2.imread(os.path.join(im_dir, frames[0]))
img_size = (img.shape[1], img.shape[0])
# get seq name
seq_name = os.path.dirname(im_dir).split('/')[-1]
# splice video_dir
video_dir = os.path.join(video_dir, seq_name + '.avi')
fourcc = cv2.VideoWriter_fourcc('M', 'J', 'P', 'G')
# also can write like:fourcc = cv2.VideoWriter_fourcc(*'MJPG')
# if want to write .mp4 file, use 'MP4V'
videowriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)

for frame in frames:
    f_path = os.path.join(im_dir, frame)
    image = cv2.imread(f_path)
    videowriter.write(image)
    print(frame + " has been written!")

videowriter.release()
  • /home/lsm/PycharmProjects/py-MDNet/results/Biker/figs次の図に示すように、最初に画像シーケンスパスを指定します。たとえば、mineなどです。
    ここに画像の説明を挿入
  • 次に、出力パスを指定します
  • 次に、ビデオFPSのフレーム数、およびビデオの解像度(デフォルトは画像の解像度)を設定できます。ビデオの名前は自分で変更できます(上記は名前として保存されます)シーケンスバイカー
  • 次に、画像のフレームを読み込んでビデオを書き込むと、.aviビデオファイルを生成
    ここに画像の説明を挿入
    できます。オンラインオンライン変換ツールを使用して、後でgifファイルを生成できます。

入れの例の公式ウェブサイトを
公式サイトの例

おすすめ

転載: blog.csdn.net/laizi_laizi/article/details/107653757
おすすめ