複数枚の連続した画像をつなげて動画へ変換したいと思ったのですが動画が指定したファイルに保存されません。特にエラーは出ずに終了してしまいます。どのように改善すればよいでしょうか
コード
import cv2 import glob k=0 size=(1920,1080)#サイズ指定 fourcc = cv2.VideoWriter_fourcc('m','p','4','v')#保存形式 save = cv2.VideoWriter('C:\\Users\python\video',fourcc,10.0,size) print("保存中...") pic_data=glob.glob("C:\\Users\python\differential\diff_"+str(k)+".png") for k in range(len(pic_data)) img=pic_data[k] img=cv2.imread(img) img=cv2.resize(img,(1920,1080)) save.write(img) print("保存しました") save.release()
提示コードではsave変数をまったく使っていませんが、意図通りのコードですか?
すみません、コードの入力漏れがありました。すでにsave.write(img)は書いていましたがうまくいきません。
pic_data=glob.glob("C:\\Users\python\differential\diff_"+str(k)+".png")
とされていますが、この場合、k=0 なので、
pic_data=glob.glob("C:\\Users\python\differential\diff_0.png")
となります。"C:\\Users\python\differential\diff_0.png" というファイルは存在していなくて、for ループが一度も実行されていないのではないでしょうか。