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 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__)