Skip to content

Commit b6c19d3

Browse files
author
Alexander Mordvintsev
committed
switched from argparse to getopt for compatibility with Python 2.6
1 parent 8f4c7db commit b6c19d3

File tree

3 files changed

+39
-28
lines changed

3 files changed

+39
-28
lines changed

samples/python2/edge.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import sys
44

55
try: fn = sys.argv[1]
6-
except: fn = 'synth:bg=../cpp/lena.jpg:noise=0.1'
6+
except: fn = video.presets['lena']
77

88
def nothing(*arg):
99
pass

samples/python2/letter_recog.py

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -91,39 +91,42 @@ def predict(self, samples):
9191

9292

9393
if __name__ == '__main__':
94-
import argparse
94+
import getopt
95+
import sys
9596

9697
models = [RTrees, KNearest, Boost, SVM] # MLP, NBayes
9798
models = dict( [(cls.__name__.lower(), cls) for cls in models] )
99+
100+
print 'USAGE: letter_recog.py [--model <model>] [--data <data fn>] [--load <model fn>] [--save <model fn>]'
101+
print 'Models: ', ', '.join(models)
102+
print
98103

99-
parser = argparse.ArgumentParser()
100-
parser.add_argument('-model', default='rtrees', choices=models.keys())
101-
parser.add_argument('-data', nargs=1, default='../cpp/letter-recognition.data')
102-
parser.add_argument('-load', nargs=1)
103-
parser.add_argument('-save', nargs=1)
104-
args = parser.parse_args()
105-
106-
print 'loading data %s ...' % args.data
107-
samples, responses = load_base(args.data)
108-
Model = models[args.model]
104+
args, dummy = getopt.getopt(sys.argv[1:], '', ['model=', 'data=', 'load=', 'save='])
105+
args = dict(args)
106+
args.setdefault('--model', 'rtrees')
107+
args.setdefault('--data', '../cpp/letter-recognition.data')
108+
109+
print 'loading data %s ...' % args['--data']
110+
samples, responses = load_base(args['--data'])
111+
Model = models[args['--model']]
109112
model = Model()
110113

111114
train_n = int(len(samples)*model.train_ratio)
112-
if args.load is None:
113-
print 'training %s ...' % Model.__name__
114-
model.train(samples[:train_n], responses[:train_n])
115-
else:
116-
fn = args.load[0]
115+
if '--load' in args:
116+
fn = args['--load']
117117
print 'loading model from %s ...' % fn
118118
model.load(fn)
119+
else:
120+
print 'training %s ...' % Model.__name__
121+
model.train(samples[:train_n], responses[:train_n])
119122

120123
print 'testing...'
121124
train_rate = np.mean(model.predict(samples[:train_n]) == responses[:train_n])
122125
test_rate = np.mean(model.predict(samples[train_n:]) == responses[train_n:])
123126

124127
print 'train rate: %f test rate: %f' % (train_rate*100, test_rate*100)
125128

126-
if args.save is not None:
127-
fn = args.save[0]
129+
if '--save' in args:
130+
fn = args['--save']
128131
print 'saving model to %s ...' % fn
129132
model.save(fn)

samples/python2/video.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,27 @@ def create_capture(source):
4747
return cv2.VideoCapture(source)
4848

4949

50+
presets = dict(
51+
lena = 'synth:bg=../cpp/lena.jpg:noise=0.1'
52+
)
53+
5054
if __name__ == '__main__':
5155
import sys
52-
import argparse
53-
54-
parser = argparse.ArgumentParser()
55-
parser.add_argument('sources', nargs='*', default=['synth:bg=../cpp/lena.jpg:noise=0.1'])
56-
parser.add_argument('-shotdir', nargs=1, default='.')
57-
args = parser.parse_args()
58-
print args
56+
import getopt
57+
58+
print 'USAGE: video.py [--shotdir <dir>] [source0] [source1] ...'
59+
print "source: '<int>' or '<filename>' or 'synth:<params>'"
60+
print
61+
62+
args, sources = getopt.getopt(sys.argv[1:], '', 'shotdir=')
63+
args = dict(args)
64+
shotdir = args.get('--shotdir', '.')
65+
if len(sources) == 0:
66+
sources = [ presets['lena'] ]
5967

6068
print 'Press SPACE to save current frame'
6169

62-
caps = map(create_capture, args.sources)
70+
caps = map(create_capture, sources)
6371
shot_idx = 0
6472
while True:
6573
imgs = []
@@ -72,7 +80,7 @@ def create_capture(source):
7280
break
7381
if ch == ord(' '):
7482
for i, img in enumerate(imgs):
75-
fn = '%s/shot_%d_%03d.bmp' % (args.shotdir[0], i, shot_idx)
83+
fn = '%s/shot_%d_%03d.bmp' % (shotdir, i, shot_idx)
7684
cv2.imwrite(fn, img)
7785
print fn, 'saved'
7886
shot_idx += 1

0 commit comments

Comments
 (0)