added _doc.py -- doc-string ckecking utility
added some sample description
This commit is contained in:
parent
122f59560c
commit
d9185ec21b
@ -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
|
||||
|
14
samples/python2/_doc.py
Normal file
14
samples/python2/_doc.py
Normal file
@ -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.
|
||||
|
||||
help_message = '''USAGE: inpaint.py [<image>]
|
||||
Inpainting repairs damage to images by floodfilling
|
||||
the damage with surrounding image areas.
|
||||
|
||||
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…
x
Reference in New Issue
Block a user