提交 d9185ec2 编写于 作者: A Alexander Mordvintesv

added _doc.py -- doc-string ckecking utility

added some sample description
上级 122f5956
'''
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
'''
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
'''
This module contais some common routines used by other samples.
'''
import numpy as np
import cv2
import os
......
'''
Sample-launcher application.
'''
import Tkinter as tk
from ScrolledText import ScrolledText
from glob import glob
......
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')
......
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]
......
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()
......
'''
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:
......
'''
Simple "Square Detector" program.
Loads several images sequentially and tries to find squares in each image.
'''
import numpy as np
import cv2
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册