1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- # Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- import os
- import sys
- import cv2
- import glob
- def video2frames(sourceVdo, dstDir):
- videoData = cv2.VideoCapture(sourceVdo)
- count = 0
- while (videoData.isOpened()):
- count += 1
- ret, frame = videoData.read()
- if ret:
- cv2.imwrite(f"{dstDir}/{count:07d}.jpg", frame)
- if count % 20 == 0:
- print(f"{dstDir}/{count:07d}.jpg")
- else:
- break
- videoData.release()
- def transSeq(seqs_path, new_root):
- sonCameras = glob.glob(seqs_path + "/*")
- sonCameras.sort()
- for vdoList in sonCameras:
- Seq = vdoList.split('/')[-2]
- Camera = vdoList.split('/')[-1]
- os.system(f"mkdir -p {new_root}/{Seq}/images/{Camera}/img1")
- roi_path = vdoList + '/roi.jpg'
- new_roi_path = f"{new_root}/{Seq}/images/{Camera}"
- os.system(f"cp {roi_path} {new_roi_path}")
- video2frames(f"{vdoList}/vdo.avi",
- f"{new_root}/{Scd eq}/images/{Camera}/img1")
- if __name__ == "__main__":
- seq_path = sys.argv[1]
- new_root = 'aic21mtmct_vehicle'
- seq_name = seq_path.split('/')[-1]
- data_path = seq_path.split('/')[-3]
- os.system(f"mkdir -p {new_root}/{seq_name}/gt")
- os.system(f"cp {data_path}/eval/ground*.txt {new_root}/{seq_name}/gt")
- # extract video frames
- transSeq(seq_path, new_root)
|