added _doc.py -- doc-string ckecking utility

added some sample description
pull/15/merge
Alexander Mordvintesv 13 years ago
parent 122f59560c
commit d9185ec21b
  1. 37
      samples/python2/_coverage.py
  2. 14
      samples/python2/_doc.py
  3. 4
      samples/python2/common.py
  4. 4
      samples/python2/demo.py
  5. 17
      samples/python2/distrans.py
  6. 14
      samples/python2/floodfill.py
  7. 17
      samples/python2/inpaint.py
  8. 18
      samples/python2/morphology.py
  9. 6
      samples/python2/squares.py

@ -1,24 +1,29 @@
'''
Utility for measuring python opencv API coverage by samples.
'''
from glob import glob
import cv2
import re
cv2_callable = set(['cv2.'+name for name in dir(cv2) if callable( getattr(cv2, name) )])
if __name__ == '__main__':
cv2_callable = set(['cv2.'+name for name in dir(cv2) if callable( getattr(cv2, name) )])
found = set()
for fn in glob('*.py'):
print ' --- ', fn
code = open(fn).read()
found |= set(re.findall('cv2?\.\w+', code))
found = set()
for fn in glob('*.py'):
print ' --- ', fn
code = open(fn).read()
found |= set(re.findall('cv2?\.\w+', code))
cv2_used = found & cv2_callable
cv2_unused = cv2_callable - cv2_used
with open('unused_api.txt', 'w') as f:
f.write('\n'.join(sorted(cv2_unused)))
cv2_used = found & cv2_callable
cv2_unused = cv2_callable - cv2_used
with open('unused_api.txt', 'w') as f:
f.write('\n'.join(sorted(cv2_unused)))
r = 1.0 * len(cv2_used) / len(cv2_callable)
print '\ncv2 api coverage: %d / %d (%.1f%%)' % ( len(cv2_used), len(cv2_callable), r*100 )
r = 1.0 * len(cv2_used) / len(cv2_callable)
print '\ncv2 api coverage: %d / %d (%.1f%%)' % ( len(cv2_used), len(cv2_callable), r*100 )
print '\nold (cv) symbols:'
for s in found:
if s.startswith('cv.'):
print s
print '\nold (cv) symbols:'
for s in found:
if s.startswith('cv.'):
print s

@ -0,0 +1,14 @@
'''
Scans current directory for *.py files and reports
ones with missing __doc__ string.
'''
from glob import glob
if __name__ == '__main__':
print '--- undocumented files:'
for fn in glob('*.py'):
loc = {}
execfile(fn, loc)
if '__doc__' not in loc:
print fn

@ -1,3 +1,7 @@
'''
This module contais some common routines used by other samples.
'''
import numpy as np
import cv2
import os

@ -1,3 +1,7 @@
'''
Sample-launcher application.
'''
import Tkinter as tk
from ScrolledText import ScrolledText
from glob import glob

@ -1,20 +1,25 @@
import numpy as np
import cv2
import cv2.cv as cv
from common import make_cmap
'''
Distance transform sample.
help_message = '''USAGE: distrans.py [<image>]
Usage:
distrans.py [<image>]
Keys:
ESC - exit
v - toggle voronoi mode
'''
import numpy as np
import cv2
import cv2.cv as cv
from common import make_cmap
if __name__ == '__main__':
import sys
try: fn = sys.argv[1]
except: fn = '../cpp/fruits.jpg'
print help_message
print __doc__
img = cv2.imread(fn, 0)
cm = make_cmap('jet')

@ -1,9 +1,10 @@
import numpy as np
import cv2
'''
Floodfill sample.
help_message = '''USAGE: floodfill.py [<image>]
Usage:
floodfill.py [<image>]
Click on the image to set seed point
Click on the image to set seed point
Keys:
f - toggle floating range
@ -11,11 +12,14 @@ Keys:
ESC - exit
'''
import numpy as np
import cv2
if __name__ == '__main__':
import sys
try: fn = sys.argv[1]
except: fn = '../cpp/fruits.jpg'
print help_message
print __doc__
img = cv2.imread(fn, True)
h, w = img.shape[:2]

@ -1,8 +1,11 @@
import numpy as np
import cv2
from common import Sketcher
'''
Inpainting sample.
Inpainting repairs damage to images by floodfilling
the damage with surrounding image areas.
help_message = '''USAGE: inpaint.py [<image>]
Usage:
inpaint.py [<image>]
Keys:
SPACE - inpaint
@ -10,11 +13,15 @@ Keys:
ESC - exit
'''
import numpy as np
import cv2
from common import Sketcher
if __name__ == '__main__':
import sys
try: fn = sys.argv[1]
except: fn = '../cpp/fruits.jpg'
print help_message
print __doc__
img = cv2.imread(fn)
img_mark = img.copy()

@ -1,8 +1,22 @@
'''
Morphology operations.
Usage:
morphology.py [<image>]
Keys:
1 - change operation
2 - change structure element shape
ESC - exit
'''
import numpy as np
import cv2
if __name__ == '__main__':
print __doc__
import sys
from itertools import cycle
from common import draw_str
@ -44,10 +58,6 @@ if __name__ == '__main__':
cv2.createTrackbar('op/size', 'morphology', 12, 20, update)
cv2.createTrackbar('iters', 'morphology', 1, 10, update)
update()
print "Controls:"
print " 1 - change operation"
print " 2 - change structure element shape"
print
while True:
ch = 0xFF & cv2.waitKey()
if ch == 27:

@ -1,3 +1,9 @@
'''
Simple "Square Detector" program.
Loads several images sequentially and tries to find squares in each image.
'''
import numpy as np
import cv2

Loading…
Cancel
Save