前提・実現したいこと
プログラミング初心者です。
動画をフレームごとに切り出して保存したいのですが、四行目の末で通らなくて行き詰っています。
以前質問し意見をいただきましたが、うまくいきませんでした。
よろしくお願いいたします。
発生している問題・エラーメッセージ
File "<ipython-input-2-cc1b8e894161>", line 4 def save_all_frames(C0597_mp4, C:\user\m\desktop\program\framecap\framephoto, capvideo_img, ext='jpg'): ^ SyntaxError: unexpected character after line continuation character
該当のソースコード
import cv2 import os def save_all_frames(C0597_mp4, C:\user\m\desktop\program\framecap\framephoto, capvideo_img, ext='jpg'): cap = cv2.VideoCapture(video_path) if not cap.isOpened(): return os.makedirs(C:\user\m\desktop\program\framecap\framephoto, exist_ok=True) base_path = os.path.join(C:\user\m\desktop\program\framecap\framephoto, capvideo_img) digit = len(str(int(cap.get(cv2.CAP_PROP_FRAME_COUNT)))) n = 0 while True: ret, frame = cap.read() if ret: cv2.imwrite('{}_{}.{}'.format(C0597_mp4, str(n).zfill(digit), ext), frame) n += 1 else: return save_all_frames('C0597_mp4', 'C:\user\m\desktop\program\framecap\framephoto', 'capvideo_img') save_all_frames('C0597_mp4', 'C:\user\m\desktop\program\framecap\framephoto_png', 'capvideo_img', 'png')
試したこと
文末に:を付けただけでは通りませんでした。
> 以前質問し意見をいただきましたが、うまくいきませんでした。
その質問で話を続ければ良いのではないでしょうか.
> よろしくお願いいたします。
よろしく,って何をですか?
---
私は Python を知らない人間ですが,それでもそのコードを見た感じから,まずもって文法面がくっちゃくちゃなんじゃねぇか? という雰囲気を感じます.
そのコードに取り組むよりも前に,
文字列リテラルの書き方とか,関数とか引数とかいう概念の話等をまずは学ぶべきではないでしょうか.
ご回答ありがとうございます。
もっと初歩的なところから学んで理解を深めたうえでやっていくことにします。
エラー発生行の「C:\user\m\desktop\program\framecap\framephoto」をとりあえず「C」に変えると該当のエラー(SyntaxError: unexpected character after line continuation character)は消えます。が、すぐに別のエラーが発生するような状況となっています。
質問のコードは質問者さんが書いたコードでしょうか?どこかから拾ってきたコードなのでしょうか??
初心者であればまず関数を作らずにコードを書いてみてはどうでしょうか?
ご回答ありがとうございました。
他のところでも解決案をいただいており、解決いたしました。
本当にお力添えいただきありがとうございます。
ちなみにこのコードは拾ってきたものです。
(https://note.nkmk.me/python-opencv-video-to-still-image/)
関数が自分の中でややこしくなっていたポイントだったので、関数を使わないコードをこの後試してみようと思っています。
回答1件
あなたの回答
tips
プレビュー