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)
|
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
|
=========
|
||||||
|
|
||||||
help_message = '''
|
This program demonstrates the watershed segmentation algorithm
|
||||||
USAGE: watershed.py [<image>]
|
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
|
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…
Reference in New Issue
Block a user