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
\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