diff --git a/2018-Python-Practice-master/main.py b/2018-Python-Practice-master/main.py index 9d8e7df..2e9ab7c 100644 --- a/2018-Python-Practice-master/main.py +++ b/2018-Python-Practice-master/main.py @@ -1,14 +1,14 @@ import logging import sys from datetime import datetime - +import cv2 import tensorflow as tf ''' 1. import `Video` and `save_video` from the correct module of package "styler" ''' -from ... import Video -from ... import save_video +from styler.video import Video +from styler.utils import save_video model_file = 'data/vg-30.pb' @@ -41,7 +41,7 @@ def main(): ''' 2. set the `path` to your input ''' - with Video(...) as v: + with Video('input/jaguar.mp4') as v: frames = v.read_frames(image_h=shape[1], image_w=shape[2]) logging.info("Processing image") @@ -52,21 +52,25 @@ def main(): and make it be processed by Tensorflow. ''' processed = [ - session.run(out, feed_dict={image: [frame]}) - ... + session.run(out, feed_dict={image: [frame]}) for frame in frames ] + + + + ''' 4. Pass the results as a argument into function ''' + save_video('result.mp4', fps=30, h=shape[1], w=shape[2], - frames=...) + frames=processed) logging.info("Processing took %f" % ( (datetime.now() - start_time).total_seconds())) logging.info("Done") - + if __name__ == '__main__': main() diff --git a/2018-Python-Practice-master/result.mp4 b/2018-Python-Practice-master/result.mp4 new file mode 100644 index 0000000..15c7f29 Binary files /dev/null and b/2018-Python-Practice-master/result.mp4 differ diff --git a/2018-Python-Practice-master/styler/__pycache__/utils.cpython-35.pyc b/2018-Python-Practice-master/styler/__pycache__/utils.cpython-35.pyc new file mode 100644 index 0000000..16de8f1 Binary files /dev/null and b/2018-Python-Practice-master/styler/__pycache__/utils.cpython-35.pyc differ diff --git a/2018-Python-Practice-master/styler/__pycache__/video.cpython-35.pyc b/2018-Python-Practice-master/styler/__pycache__/video.cpython-35.pyc new file mode 100644 index 0000000..36eb5ab Binary files /dev/null and b/2018-Python-Practice-master/styler/__pycache__/video.cpython-35.pyc differ diff --git a/2018-Python-Practice-master/styler/utils.py b/2018-Python-Practice-master/styler/utils.py index c4dcb5c..f77c46f 100644 --- a/2018-Python-Practice-master/styler/utils.py +++ b/2018-Python-Practice-master/styler/utils.py @@ -33,7 +33,7 @@ def save_video(filepath, fps, w, h, frames): ''' If you cannot write video file, you may change the used codec ''' - used_codec = codecs[2] # change the index from codecs + used_codec = codecs[3] # change the index from codecs fourcc = cv2.VideoWriter_fourcc(*used_codec) out = cv2.VideoWriter(filepath, fourcc, fps, (w, h)) for frame in frames: diff --git a/2018-Python-Practice-master/styler/video.py b/2018-Python-Practice-master/styler/video.py index deb57be..7ba5136 100644 --- a/2018-Python-Practice-master/styler/video.py +++ b/2018-Python-Practice-master/styler/video.py @@ -26,11 +26,32 @@ def read_frames(self, image_h, image_w): - Also assign frames to "self" object - Return your results ''' - frames = [] # 5-1 /5-2 Read video and collect them - - self.frames = ... # 5-3 let object have the result - return ... # return your results + + + # Read until video is completed + while(self.cap.isOpened()): + ret, frame = self.cap.read() + if ret == True: + frame_r=resize(frame,image_h,image_w) + cv2.imshow('Frame',frame) + self.frames.append(frame_r) + if cv2.waitKey(25) & 0xFF == ord('q'): + break + else : + break + + # Press Q on keyboard to exit + + + # When everything done, release the video capture object + + # Closes all the frames + cv2.destroyAllWindows() + + + #self.frames = ... # 5-3 let object have the result + return self.frames # return your results def __exit__(self, exc_type, exc_val, exc_tb): self.cap.release()