multiple cameras and frame saving in video.py
authorAlexander Mordvintsev <no@email>
Fri, 10 Jun 2011 07:54:21 +0000 (07:54 +0000)
committerAlexander Mordvintsev <no@email>
Fri, 10 Jun 2011 07:54:21 +0000 (07:54 +0000)
samples/python2/browse.py
samples/python2/video.py

index 721fbaa..579b0e8 100644 (file)
@@ -16,7 +16,7 @@ if len(sys.argv) > 1:
     img = cv2.imread(fn)\r
 else:\r
     sz = 4096\r
-    print 'generating %dx%d procudural image ...' % (sz, sz)\r
+    print 'generating %dx%d procedural image ...' % (sz, sz)\r
     img = np.zeros((sz, sz), np.uint8)\r
     track = np.cumsum(np.random.rand(500000, 2)-0.5, axis=0)\r
     track = np.int32(track*10 + (sz/2, sz/2))\r
index 762f01a..3b5a98e 100644 (file)
@@ -49,13 +49,30 @@ def create_capture(source):
 \r
 if __name__ == '__main__':\r
     import sys\r
-    try: fn = sys.argv[1]\r
-    except: fn = 'synth:bg=../cpp/lena.jpg:noise=0.1'\r
+    import argparse\r
+    \r
+    parser = argparse.ArgumentParser()\r
+    parser.add_argument('sources', nargs='*', default=['synth:bg=../cpp/lena.jpg:noise=0.1'])\r
+    parser.add_argument('-shotdir', nargs=1, default='.')\r
+    args = parser.parse_args()\r
+    print args\r
 \r
-    cap = create_capture(fn)\r
+    print 'Press SPACE to save current frame'\r
+\r
+    caps = map(create_capture, args.sources)\r
+    shot_idx = 0\r
     while True:\r
-        ret, img = cap.read()\r
-        cv2.imshow('img', img)\r
+        imgs = []\r
+        for i, cap in enumerate(caps):\r
+            ret, img = cap.read()\r
+            imgs.append(img)\r
+            cv2.imshow('capture %d' % i, img)\r
         ch = cv2.waitKey(1)\r
         if ch == 27:\r
             break\r
+        if ch == ord(' '):\r
+            for i, img in enumerate(imgs):\r
+                fn = '%s/shot_%d_%03d.bmp' % (args.shotdir[0], i, shot_idx)\r
+                cv2.imwrite(fn, img)\r
+                print fn, 'saved'\r
+            shot_idx += 1\r