検索力 | python3Xのブログ

python3Xのブログ

ここでは40代、50代の方が日々の生活で役に立つ情報や私の趣味であるプログラム、Excelや科学に関する内容で投稿する予定です。

今回の白黒動画のカラー化も『検索力』の賜物です

 

まず、動画を画像ファイルに変換します

それらのファイルをカラー化します

更にそれらを見栄え良くするために『より解像度を上げる努力』をします

そして再び画像を動画に戻します

 

一つにまとめることも出来ますが

応用範囲が広いと感じて別々にコードを公表します

 

 

 動画から静止画に変換

move_to_jpg.py

# coding: utf-8
import os
import cv2

#入力映像ファイルの指定
inname = './rome2.mp4'   # 白黒動画ファイル名

#画像生成時にファイル名する名前の指定
outname = 'rome01'

#動画読み込み
captureimg = cv2.VideoCapture(inname)

#1フレームずつ書く
# ./dataフォルダーの中に保存される


cnt = 0

while True:
    ret, frame = captureimg.read()
    if ret == True:

            # dataフォルダーの中に指定した名前を頭に
            # 7桁(重要)のフレーム番号を入れて,PNG形式で保存

        cv2.imwrite('./data/'+outname+'_'+str("{0:07d}".format(cnt)) +'.png', frame)
        cnt += 1
    else:
        break

 

静止画から動画に変換

jpg_to_mov.py

import os
import cv2
import glob
import numpy as np

# SQLなどのデータベースを扱ったことがある方はご存じだと思いますが

# 0桁数が小さいとソートが滅茶苦茶になり動画がとんでもないことに
# 例えば1,2,3・・・,10・・nの場合は 2 よりも10の方が前にソートされます

jpg_files = sorted(glob.glob('data/result/*.jpg'))
fourcc = cv2.VideoWriter_fourcc('m','p','4', 'v')
video  = cv2.VideoWriter('ImgVideo.mp4', fourcc, 20.0,(640, 360))

for jpg_file in jpg_files:
    img = cv2.imread(jpg_file)
    video.write(img)

video.release()