Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions 2018-Python-Practice-master/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@
'''
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'
Expand Down Expand Up @@ -41,7 +42,7 @@ def main():
'''
2. set the `path` to your input
'''
with Video(...) as v:
with Video('/Users/AndyChu/Desktop/2018-Python-Practice/2018-Python-Practice-master/input/jaguar.mp4') as v:

@gabyvon725 gabyvon725 Mar 17, 2018

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 45 路徑也可以使用相對路徑
e.g. 'input/jagauar.mp4' 或 './input/jagauar.mp4'
如果程式在不同環境或是交給其他人使用時,路徑也許就不用修改了

frames = v.read_frames(image_h=shape[1], image_w=shape[2])

logging.info("Processing image")
Expand All @@ -53,15 +54,15 @@ def main():
'''
processed = [
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()))
Expand Down
Binary file added 2018-Python-Practice-master/result.mp4
Binary file not shown.
Empty file.
Binary file added 2018-Python-Practice-master/styler/__init__.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added 2018-Python-Practice-master/styler/utils.pyc
Binary file not shown.
18 changes: 15 additions & 3 deletions 2018-Python-Practice-master/styler/video.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
import cv2

from styler.utils import resize
Expand Down Expand Up @@ -28,9 +30,19 @@ def read_frames(self, image_h, image_w):
'''
frames = []
# 5-1 /5-2 Read video and collect them

self.frames = ... # 5-3 let object have the result
return ... # return your results
success,image = self.cap.read()
count = 0
success = True

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 33 self.cap.read()本身回傳值,第一個參數是True/False,代表有沒有讀到圖片,第二個參數代表當前截取一幀的圖片。這邊如果有讀到,success會回傳True,所以不必在 Line 35 將它再次賦值為True

while success:
image2 = cv2.resize(image, (image_h, image_w))

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line37 這邊希望使用的是 utils.py 裡的 resize()。可以看下 utils.py 的版本有對這份應用做一些特殊處理(擷取中心位置之後才 resize)所以跟直接 cv2.resize 結果可能有些出入

frames.append(image2)
success, image = self.cap.read()

print ('Read a new frame: ', success , count)
count += 1

self.frames = frames # 5-3 let object have the result
return frames # return your results

def __exit__(self, exc_type, exc_val, exc_tb):
self.cap.release()
Binary file added 2018-Python-Practice-master/styler/video.pyc
Binary file not shown.