前提・実現したいこと
スロットの動画で、動いているリールの7の部分に点を付けて、点が7を追うようなことをしたいと考えています。
発生している問題・エラーメッセージ
本来、5秒の動画なのですが、動画が再生されず0秒になってしまいます。画像だけになってしまいます。
エラーメッセージ
### 該当のソースコード import cv2 import numpy as np #リールの座標を入力 xmin = 16 xmax = 826 ymin = 540 ymax = 850 #動画の場所指定 videofile_path = "IMG_1292.mp4" #動画の読み込み cap = cv2.VideoCapture(videofile_path) #動画ファイルの情報を取得 #動画のFPSを取得 fps = int(cap.get(cv2.CAP_PROP_FPS)) #動画の横幅を取得 w = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #動画の縦幅を取得 h = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) #動画保存時のfourcc設定(mp4用) fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') #動画の仕様(ファイル名、fourcc、FPS、サイズ、カラー) video = cv2.VideoWriter("IMG_1292.mp4", fourcc, fps, (w,h), True) while (cap.isOpened()): ret, frame = cap.read() if not ret: break bgr = frame[ymin:ymax, xmin:xmax] r = 260 g = 0 b = 0 bgr_min = np.array([b,g,r]) bgr_max = np.array([b,g,r]) mask = cv2.inRange(bgr, bgr_min, bgr_max) if mask. any(): area = cv2.connectedComponentsWithStats(mask) n = area[0] - 1 coord = np.delete(0, 0, area[2]) center = np.delete(0, 0, area[3]) cv2.circle(frame, (xmin,ymin), 50, (0, 0, 260), thickness=-1, lineType = cv2.LINE_AA) cv2.rectangle(mask, (xmin, ymin), (xmax, ymax), (255, 0, 0), 2) cv2.imshow("Frame",frame) cv2.imshow("Mask",mask) video.write(frame) cap.release() cv2.destroyAllWindows()
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
コード全体を選択してコピーし、そこに持っていって貼り付けします
https://allabout.co.jp/gm/gc/50192/
修正しました
すみません、教えていただきありがとうございます