10秒間隔で画像を400枚 jpgファイルとして保存
事前にM-JPEG streamerがインストールされ、アドレスxxx.xxx.xxx.xxx:8080で稼働している環境で、ファイル名 T0000.jpgからT0399.jpgとして画像を保存します。
import time
import cv2
# VideoCapture オブジェクトを取得します
URL = "http://xxx.xxx.xxx.xxx:8080/?action=stream"
capture = cv2.VideoCapture(URL)
for n in range(400):
ret, frame = capture.read()
name = "T" + '{:04d}'.format(n)+".jpg"
print(name)
cv2.imwrite(name, frame)
time.sleep(10)
print("Done!")
jpgファイルからmp4動画を生成
import glob
import cv2
img_array = []
for filename in sorted(glob.glob("*.jpg")):
print(filename)
img = cv2.imread(filename)
height, width, layers = img.shape
size = (width, height)
img_array.append(img)
name = 'project.mp4'
out = cv2.VideoWriter(name, cv2.VideoWriter_fourcc(*'mp4v'), 5.0, size)
for i in range(len(img_array)):
out.write(img_array[i])
out.release()
生成したmp4動画の編集(不要部分の削除、回転、再生速度の調整など)には、Windows10標準のソフト「フォト」が便利。
作例