mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
837 B
29 lines
837 B
''' |
|
Utility for measuring python opencv API coverage by samples. |
|
''' |
|
|
|
from glob import glob |
|
import cv2 |
|
import re |
|
|
|
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)) |
|
|
|
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 ) |
|
|
|
print '\nold (cv) symbols:' |
|
for s in found: |
|
if s.startswith('cv.'): |
|
print s
|
|
|