descriptions for watershed.py and video.py
This commit is contained in:
parent
d015bf6f5e
commit
6977a89525
@ -63,6 +63,8 @@ def update(_=None):
|
||||
cv2.imshow('fit line', img)
|
||||
|
||||
if __name__ == '__main__':
|
||||
print __doc__
|
||||
|
||||
cv2.namedWindow('fit line')
|
||||
cv2.createTrackbar('noise', 'fit line', 3, 50, 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 cv2
|
||||
from time import clock
|
||||
@ -100,8 +129,7 @@ presets = dict(
|
||||
|
||||
|
||||
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()
|
||||
chunks = source.split(':')
|
||||
@ -136,9 +164,7 @@ if __name__ == '__main__':
|
||||
import sys
|
||||
import getopt
|
||||
|
||||
print 'USAGE: video.py [--shotdir <dir>] [source0] [source1] ...'
|
||||
print "source: '<int>' or '<filename>' or 'synth:<params>'"
|
||||
print
|
||||
print __doc__
|
||||
|
||||
args, sources = getopt.getopt(sys.argv[1:], '', 'shotdir=')
|
||||
args = dict(args)
|
||||
@ -146,8 +172,6 @@ if __name__ == '__main__':
|
||||
if len(sources) == 0:
|
||||
sources = [ 0 ]
|
||||
|
||||
print 'Press SPACE to save current frame'
|
||||
|
||||
caps = map(create_capture, sources)
|
||||
shot_idx = 0
|
||||
while True:
|
||||
|
@ -1,18 +1,31 @@
|
||||
import numpy as np
|
||||
import cv2
|
||||
from common import Sketcher
|
||||
'''
|
||||
Watershed segmentation
|
||||
=========
|
||||
|
||||
help_message = '''
|
||||
USAGE: watershed.py [<image>]
|
||||
This program demonstrates the watershed segmentation algorithm
|
||||
in OpenCV: watershed().
|
||||
|
||||
Use keys 1 - 7 to switch marker color
|
||||
Usage
|
||||
-----
|
||||
watershed.py [image filename]
|
||||
|
||||
Keys
|
||||
----
|
||||
1-7 - switch marker color
|
||||
SPACE - update segmentation
|
||||
r - reset
|
||||
a - switch autoupdate
|
||||
a - toggle autoupdate
|
||||
ESC - exit
|
||||
|
||||
'''
|
||||
|
||||
|
||||
|
||||
|
||||
import numpy as np
|
||||
import cv2
|
||||
from common import Sketcher
|
||||
|
||||
class App:
|
||||
def __init__(self, fn):
|
||||
self.img = cv2.imread(fn)
|
||||
@ -60,5 +73,5 @@ if __name__ == '__main__':
|
||||
import sys
|
||||
try: fn = sys.argv[1]
|
||||
except: fn = '../cpp/fruits.jpg'
|
||||
print help_message
|
||||
print __doc__
|
||||
App(fn).run()
|
||||
|
Loading…
Reference in New Issue
Block a user