first commit
This commit is contained in:
commit
54ccfb11fe
218 files changed
+19525
No files matched your search
Executable
+130
@@ -0,0 +1,130 @@
|
||||
'''
|
||||
author : Hatcher W huimin
|
||||
Email: hcwang@semi.ac.cn
|
||||
use: 目标检测视频处理
|
||||
input:需要处理的视频路径
|
||||
output:avi后缀的视频处理结果
|
||||
'''
|
||||
import glob
|
||||
import os
|
||||
import time
|
||||
|
||||
import torch
|
||||
from PIL import Image
|
||||
from vizer.draw import draw_boxes
|
||||
|
||||
from ssd.config import cfg
|
||||
from ssd.data.datasets import COCODataset, VOCDataset
|
||||
import argparse
|
||||
import numpy as np
|
||||
|
||||
from ssd.data.transforms import build_transforms
|
||||
from ssd.modeling.detector import build_detection_model
|
||||
from ssd.utils import mkdir
|
||||
from ssd.utils.checkpoint import CheckPointer
|
||||
from detection import main
|
||||
from vediotoima import vedio_img
|
||||
from imatovideo import images_to_video,images_to_video_big
|
||||
from moviepy.editor import *
|
||||
import os
|
||||
os.environ['CUDA_VISIBLE_DEVICES'] = '2'
|
||||
|
||||
def parse_args():
|
||||
|
||||
parser = argparse.ArgumentParser(description='Detection Video to Video')
|
||||
parser.add_argument(
|
||||
"--config-file",
|
||||
default="ssd/config/hat-512.yaml",
|
||||
metavar="FILE",
|
||||
help="path to config file",
|
||||
type=str,
|
||||
)
|
||||
parser.add_argument("--ckpt", type=str, default="../data_MPKFNet/weigth/detection/detection.pth",
|
||||
help="Trained weights.")
|
||||
parser.add_argument("--score_threshold", type=float, default=0.3)
|
||||
parser.add_argument("--video_name", default='000120210501080936.mp4', type=str, help='Video name.')
|
||||
parser.add_argument("--images_dir", default='../data_MPKFNet/result_raw/yang/', type=str,
|
||||
help='Specify a image dir to do prediction.')
|
||||
parser.add_argument("--output_dir", default='../data_MPKFNet/result/yangd/', type=str,
|
||||
help='Specify a image dir to save predicted images.')
|
||||
parser.add_argument("--dataset_type", default="voc", type=str,
|
||||
help='Specify dataset type. Currently support voc and coco.')
|
||||
|
||||
parser.add_argument(
|
||||
"opts",
|
||||
help="Modify config options using the command-line",
|
||||
default=None,
|
||||
nargs=argparse.REMAINDER,
|
||||
)
|
||||
args = parser.parse_args()
|
||||
return args
|
||||
|
||||
|
||||
# if __name__ == '__main__':
|
||||
# args = parse_args()
|
||||
# path = "/data/Hatcher/output1/"
|
||||
# pathlists = os.listdir(path)
|
||||
# for pathlist in pathlists:
|
||||
# if os.path.exists('../data_MPKFNet/rawdata/' + pathlist + ".mp4"):
|
||||
# print(pathlist," is skipping")
|
||||
# continue
|
||||
# print(pathlist," is starting")
|
||||
# L = []
|
||||
# for root, dirs, files in os.walk(os.path.join(path,pathlist)):
|
||||
# files.sort()
|
||||
# for file in files:
|
||||
# if os.path.splitext(file)[1] in [".avi",".mp4"]:
|
||||
# filepath = os.path.join(root, file)
|
||||
# video = VideoFileClip(filepath)
|
||||
# L.append(video)
|
||||
# if len(L) == 0:
|
||||
# continue
|
||||
# final_clip = concatenate_videoclips(L)
|
||||
# final_clip.to_videofile(os.path.join('../data_MPKFNet/rawdata/', "{}.mp4".format(pathlist)), fps=25, remove_temp=False)
|
||||
# video_name_path = pathlist
|
||||
# video_name_path = video_name_path.replace(".MP4", "").replace(".mp4", "").replace(".MOV", "").replace(".mov", "")
|
||||
# RawVideoFilename = '../data_MPKFNet/rawdata/' + video_name_path + ".mp4"
|
||||
# RawVideoExtrationSavedpath = '../data_MPKFNet/result_raw/' + video_name_path
|
||||
# args.images_dir = '../data_MPKFNet/result_raw/' + video_name_path
|
||||
# args.output_dir = "../data_MPKFNet/result/" + video_name_path + "Detection"
|
||||
# CombineVideoRawImgPath = "../data_MPKFNet/result/" + video_name_path + "Detection"
|
||||
# CombineVideoResultPath = '../data_MPKFNet/result_vedio11/' + "{}.avi".format(video_name_path)
|
||||
#
|
||||
# # vedio_img(RawVideoFilename, RawVideoExtrationSavedpath, 1)
|
||||
# # main(args)
|
||||
# # images_to_video(CombineVideoRawImgPath, CombineVideoResultPath)
|
||||
# if os.path.exists(RawVideoExtrationSavedpath):
|
||||
# print("skip video to image")
|
||||
# pass
|
||||
# else:
|
||||
# vedio_img(RawVideoFilename, RawVideoExtrationSavedpath, 1)
|
||||
# if os.path.exists(args.output_dir):
|
||||
# print("skip deal")
|
||||
# pass
|
||||
# else:
|
||||
# main(args)
|
||||
# images_to_video(CombineVideoRawImgPath, CombineVideoResultPath)
|
||||
|
||||
|
||||
#zhendui danyi shipin
|
||||
if __name__ == '__main__':
|
||||
args = parse_args()
|
||||
video_name_path = args.video_name
|
||||
video_name_path = video_name_path.replace(".MP4", "").replace(".mp4", "").replace(".MOV", "").replace(".mov", "")
|
||||
RawVideoFilename = '../data_MPKFNet/rawdata/1/'+args.video_name
|
||||
RawVideoExtrationSavedpath = '../data_MPKFNet/result_raw/' + video_name_path
|
||||
args.images_dir = '../data_MPKFNet/result_raw/' + video_name_path
|
||||
args.output_dir = "../data_MPKFNet/result/" + video_name_path + "Detection"
|
||||
CombineVideoRawImgPath = "../data_MPKFNet/result/" + video_name_path + "Detection"
|
||||
CombineVideoResultPath = '../data_MPKFNet/result_vedio/' + video_name_path + "Detection.avi"
|
||||
if os.path.exists(RawVideoExtrationSavedpath):
|
||||
print("skip video to image")
|
||||
pass
|
||||
else:
|
||||
vedio_img(RawVideoFilename, RawVideoExtrationSavedpath, 1)
|
||||
if os.path.exists(args.output_dir):
|
||||
print("skip deal")
|
||||
pass
|
||||
else:
|
||||
main(args)
|
||||
images_to_video(CombineVideoRawImgPath, CombineVideoResultPath)
|
||||
Reference in new issue
Block a user