提交 44862b02 编写于 作者: S sjtubinlong

fix coding style

上级 06190691
...@@ -15,10 +15,6 @@ ...@@ -15,10 +15,6 @@
import os import os
import sys import sys
import ast
import time
import json
import argparse
import numpy as np import numpy as np
import cv2 import cv2
...@@ -27,6 +23,9 @@ import paddle.fluid as fluid ...@@ -27,6 +23,9 @@ import paddle.fluid as fluid
def LoadModel(model_dir, use_gpu=False): def LoadModel(model_dir, use_gpu=False):
"""
Load model files and init paddle predictor
"""
prog_file = os.path.join(model_dir, '__model__') prog_file = os.path.join(model_dir, '__model__')
params_file = os.path.join(model_dir, '__params__') params_file = os.path.join(model_dir, '__params__')
config = fluid.core.AnalysisConfig(prog_file, params_file) config = fluid.core.AnalysisConfig(prog_file, params_file)
...@@ -53,7 +52,7 @@ class HumanSeg: ...@@ -53,7 +52,7 @@ class HumanSeg:
self.eval_size, self.eval_size,
fx=0, fx=0,
fy=0, fy=0,
interpolation=cv2.INTER_CUBIC) interpolation=cv2.INTER_LINEAR)
# HWC -> CHW # HWC -> CHW
im = im.swapaxes(1, 2) im = im.swapaxes(1, 2)
im = im.swapaxes(0, 1) im = im.swapaxes(0, 1)
...@@ -98,51 +97,57 @@ def PredictVideo(seg, video_path): ...@@ -98,51 +97,57 @@ def PredictVideo(seg, video_path):
fps = cap.get(cv2.CAP_PROP_FPS) fps = cap.get(cv2.CAP_PROP_FPS)
# Result Video Writer # Result Video Writer
out = cv2.VideoWriter('result.avi', out = cv2.VideoWriter('result.avi',
cv2.VideoWriter_fourcc('M','J','P','G'), cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'),
fps, fps,
(int(w), int(h))) (int(w), int(h)))
# Start capturing from video # Start capturing from video
while(cap.isOpened()): while cap.isOpened():
ret, frame = cap.read() ret, frame = cap.read()
if ret == True: if ret == True:
im = seg.Predict(frame) im = seg.Predict(frame)
out.write(im); out.write(im)
else: else:
break break
cap.release() cap.release()
out.release() out.release()
# Do Predicting on a camera video stream # Do Predicting on a camera video stream
def PredictCamera(seg): def PredictCamera(seg):
cap = cv2.VideoCapture(0) cap = cv2.VideoCapture(0)
if cap.isOpened() == False: if not cap.isOpened():
print("Error opening video stream or file") print("Error opening video stream or file")
return return
# Start capturing from video # Start capturing from video
while(cap.isOpened()): while cap.isOpened():
ret, frame = cap.read() ret, frame = cap.read()
if ret == True: if ret:
im = seg.Predict(frame) im = seg.Predict(frame)
cv2.imshow('Frame', im) cv2.imshow('Frame', im)
if cv2.waitKey(1) & 0xFF == ord('q'): if cv2.waitKey(1) & 0xFF == ord('q'):
break break
else: else:
break break
cap.release() cap.release()
def main(argv):
if __name__ == "__main__": """
if len(sys.argv) < 3: Entrypoint of the script
"""
if len(argv) < 3:
print('Usage: python infer.py /path/to/model/ /path/to/video') print('Usage: python infer.py /path/to/model/ /path/to/video')
exit(0) return
model_dir = sys.argv[1] model_dir = argv[1]
input_path = sys.argv[2] input_path = argv[2]
use_gpu = int(sys.argv[3]) if len(sys.argv) >= 4 else 0 use_gpu = int(argv[3]) if len(argv) >= 4 else 0
# Init model # Init model
mean = [104.008, 116.669, 122.675] mean = [104.008, 116.669, 122.675]
scale = [1.0, 1.0, 1.0] scale = [1.0, 1.0, 1.0]
eval_size = (192, 192) eval_size = (192, 192)
seg = HumanSeg(model_dir, mean, scale, eval_size, use_gpu) seg = HumanSeg(model_dir, mean, scale, eval_size, use_gpu)
# Run Predicting on a video and result will be saved as result.avi # Run Predicting on a video and result will be saved as result.avi
PredictVideo(seg, input_path) PredictVideo(seg, input_path)
if __name__ == "__main__":
main(sys.argv)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册