From d456baa71eafe4cd4d2ea1d7180495b75e72e067 Mon Sep 17 00:00:00 2001 From: maxtom Date: Thu, 31 Aug 2017 21:17:45 +0800 Subject: [PATCH 1/2] ok --- car1 | 1 + 1 file changed, 1 insertion(+) create mode 120000 car1 diff --git a/car1 b/car1 new file mode 120000 index 0000000..2b7223d --- /dev/null +++ b/car1 @@ -0,0 +1 @@ +/raid/hustxly/car1/ \ No newline at end of file From d3c9e3a3ab9f0c86c7952ba628dd875ab5cabe4e Mon Sep 17 00:00:00 2001 From: maxtom Date: Thu, 31 Aug 2017 22:09:43 +0800 Subject: [PATCH 2/2] update framework --- medianflow++.py | 29 +++++++++++++++++++---------- medianflow.py | 26 +++++++++++++++++--------- 2 files changed, 36 insertions(+), 19 deletions(-) diff --git a/medianflow++.py b/medianflow++.py index 617a348..4f36814 100644 --- a/medianflow++.py +++ b/medianflow++.py @@ -14,12 +14,15 @@ from os.path import abspath, exists +import os, sys, time +from glob import glob + import numpy as np import cv, cv2 from rect_selector import RectSelector - +from scipy.misc import imread, imresize class MedianFlowTracker(object): def __init__(self): @@ -104,7 +107,8 @@ def track(self, target, prev, curr): class API(object): def __init__(self, win, source): - self._device = cv2.VideoCapture(source) + self._source = source + #self._device = cv2.VideoCapture(source) if isinstance(source, str): self.paused = True else: @@ -127,17 +131,20 @@ def on_rect(self, rect): def run(self): prev, curr = None, None - ret, frame = self._device.read() - if not ret: - raise IOError('can\'t reade frame') + data_files = [] + read_path = os.path.join(self._source, "*.jpg") + data_files = glob(read_path) + data_files.sort() + frame = imread(data_files[0], mode='RGB') # test data in github + + count = 0 while True: - if not self.rect_selector.dragging and not self.paused: - ret, grabbed_frame = self._device.read() - if not ret: - break - frame = grabbed_frame.copy() + print (data_files[count]) + if not self.rect_selector.dragging and not self.paused: + count += 1 + frame = imread(data_files[count], mode='RGB') # test data in github prev, curr = curr, cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) @@ -156,6 +163,7 @@ def run(self): angle = tgt[4] * 180.0 / np.pi cv.Ellipse(cv.fromarray(frame), center, scale, angle, 0., 360., color, 2) + self.rect_selector.draw(frame) cv2.imshow(self.win, frame) @@ -167,6 +175,7 @@ def run(self): self.paused = not self.paused + if __name__ == "__main__": args = docopt(__doc__) diff --git a/medianflow.py b/medianflow.py index 8bdb029..392235d 100644 --- a/medianflow.py +++ b/medianflow.py @@ -14,11 +14,14 @@ from os.path import abspath, exists +import os, sys, time +from glob import glob import numpy as np import cv2 from rect_selector import RectSelector +from scipy.misc import imread, imresize class MedianFlowTracker(object): @@ -101,7 +104,8 @@ def track(self, bb, prev, curr): class API(object): def __init__(self, win, source): - self._device = cv2.VideoCapture(source) + self._source = source + #self._device = cv2.VideoCapture(source) if isinstance(source, str): self.paused = True else: @@ -120,17 +124,20 @@ def on_rect(self, rect): def run(self): prev, curr = None, None - ret, frame = self._device.read() - if not ret: - raise IOError('can\'t reade frame') + data_files = [] + read_path = os.path.join(self._source, "*.jpg") + data_files = glob(read_path) + data_files.sort() + frame = imread(data_files[0], mode='RGB') # test data in github + + count = 0 while True: - if not self.rect_selector.dragging and not self.paused: - ret, grabbed_frame = self._device.read() - if not ret: - break - frame = grabbed_frame.copy() + print (data_files[count]) + if not self.rect_selector.dragging and not self.paused: + count += 1 + frame = imread(data_files[count], mode='RGB') # test data in github prev, curr = curr, cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) @@ -153,6 +160,7 @@ def run(self): elif ch in (ord('p'), ord('P')): self.paused = not self.paused + if __name__ == "__main__": args = docopt(__doc__)