descriptions for watershed.py and video.py

pull/2/head
Alexander Mordvintsev 13 years ago
parent d015bf6f5e
commit 6977a89525
  1. 2
      samples/python2/fitline.py
  2. 38
      samples/python2/video.py
  3. 29
      samples/python2/watershed.py

@ -63,6 +63,8 @@ def update(_=None):
cv2.imshow('fit line', img) cv2.imshow('fit line', img)
if __name__ == '__main__': if __name__ == '__main__':
print __doc__
cv2.namedWindow('fit line') cv2.namedWindow('fit line')
cv2.createTrackbar('noise', 'fit line', 3, 50, update) cv2.createTrackbar('noise', 'fit line', 3, 50, update)
cv2.createTrackbar('point n', 'fit line', 100, 500, update) cv2.createTrackbar('point n', 'fit line', 100, 500, update)

@ -1,3 +1,32 @@
'''
Video capture sample.
Sample shows how VideoCapture class can be used to acquire video
frames from a camera of a movie file. Also the sample provides
an example of procedural video generation by an object, mimicking
the VideoCapture interface (see Chess class).
'create_capture' is a convinience function for capture creation,
falling back to procedural video in case of error.
Usage:
video.py [--shotdir <shot path>] [source0] [source1] ...'
sourceN is an
- integer number for camera capture
- name of video file
- synth:<params> for procedural video
Synth examples:
synth:bg=../cpp/lena.jpg:noise=0.1
synth:class=chess:bg=../cpp/lena.jpg:noise=0.1:size=640x480
Keys:
ESC - exit
SPACE - save current frame to <shot path> directory
'''
import numpy as np import numpy as np
import cv2 import cv2
from time import clock from time import clock
@ -100,8 +129,7 @@ presets = dict(
def create_capture(source = 0, fallback = presets['chess']): def create_capture(source = 0, fallback = presets['chess']):
''' '''source: <int> or '<int>|<filename>|synth [:<param_name>=<value> [:...]]'
source: <int> or '<int>|<filename>|synth [:<param_name>=<value> [:...]]'
''' '''
source = str(source).strip() source = str(source).strip()
chunks = source.split(':') chunks = source.split(':')
@ -136,9 +164,7 @@ if __name__ == '__main__':
import sys import sys
import getopt import getopt
print 'USAGE: video.py [--shotdir <dir>] [source0] [source1] ...' print __doc__
print "source: '<int>' or '<filename>' or 'synth:<params>'"
print
args, sources = getopt.getopt(sys.argv[1:], '', 'shotdir=') args, sources = getopt.getopt(sys.argv[1:], '', 'shotdir=')
args = dict(args) args = dict(args)
@ -146,8 +172,6 @@ if __name__ == '__main__':
if len(sources) == 0: if len(sources) == 0:
sources = [ 0 ] sources = [ 0 ]
print 'Press SPACE to save current frame'
caps = map(create_capture, sources) caps = map(create_capture, sources)
shot_idx = 0 shot_idx = 0
while True: while True:

@ -1,18 +1,31 @@
import numpy as np '''
import cv2 Watershed segmentation
from common import Sketcher =========
This program demonstrates the watershed segmentation algorithm
in OpenCV: watershed().
help_message = ''' Usage
USAGE: watershed.py [<image>] -----
watershed.py [image filename]
Use keys 1 - 7 to switch marker color Keys
----
1-7 - switch marker color
SPACE - update segmentation SPACE - update segmentation
r - reset r - reset
a - switch autoupdate a - toggle autoupdate
ESC - exit ESC - exit
''' '''
import numpy as np
import cv2
from common import Sketcher
class App: class App:
def __init__(self, fn): def __init__(self, fn):
self.img = cv2.imread(fn) self.img = cv2.imread(fn)
@ -60,5 +73,5 @@ if __name__ == '__main__':
import sys import sys
try: fn = sys.argv[1] try: fn = sys.argv[1]
except: fn = '../cpp/fruits.jpg' except: fn = '../cpp/fruits.jpg'
print help_message print __doc__
App(fn).run() App(fn).run()

Loading…
Cancel
Save