画像処理に先立ち、私たちは私たちの手を得るために必要なデータは、ビデオのためにスクリーニングした、我々はいくつかの段落の傍受やから必要なものを必要とします
全体的なアイデアは、開始時刻と終了時刻(フレーム)を設定することにより、撮影した動画は、画像が新たな映像期間として保存することができ、比較的簡単です
直接コードに:
「「」 [13]ビデオ関数名インターセプト ビデオファイル名のパラメータの入力パラメータ [詳細]異なるタイム傍受スプライシング入力 wangxioabeiで[作成日] 20191128を [更新日] NOTE.1: 『』 " DEF CutVideoFromFile( video_file_name、windows_name = ' videoShowing ' ): CAP = cv2.VideoCapture(video_file_name) #ビデオファイル開く #の保存されたビデオフォーマットをクリアする必要が FOURCC = cv2.VideoWriter_fourcc(* ' XVID ' ) FPS = cap.get(cv2.CAP_PROP_FPS) を印刷(「フレームレート:%D '%FPS) サイズ =(INT(cap.get(cv2.CAP_PROP_FRAME_WIDTH))、INT(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))) OUT = cv2.VideoWriter(' BeltTear.avi ' 、FOURCC、FPS、サイズ) 保存時間 = [60×38 IS * 60 + 59 + 38、39]、[54、44 * 42 * 60 + 60 + 11]、[47 * 8、48 * 60 + 60 + 24]、[51 * 60 * 60 + 39 + 20.52 ] プリント(保存時間[0] [0]) now_frame = 0 一方(cap.isOpenedは()): RET、フレーム = cap.read() #のキャプチャ画像 img_h、img_w、img_ch = frame.shape #印刷( frame.shape) IF RET: #[1]は、直接ビデオにバイナリ又はグレースケール画像を保存することができず、色に変換する必要があります もし img_ch == 1 : フレーム = cv2.cvtColor(フレーム、cv2.COLOR_GRAY2BGR) #1 cv2.imshow(windows_name、フレーム) のための I における範囲(LEN(保存時間を)): もし now_frame>保存時間[i]が[0] * FPS そして now_frame <保存時間[I] [1] * FPS: out.write(フレーム) プリント(now_frame) now_frame + = 1 であれば now_frame>保存時間[2] [1] * FPS: ブレーク。 K = cv2.waitKey(1)&0xFFで あれば K == 27: ブレーク #1 cv2.waitKey(25) 他: ブレーク cap.release() out.release() cv2.destroyAllWindows()