opencv/utils/extract_constants.py

31 lines
889 B
Python
Executable File

#! /usr/bin/env python
"""
This script extracts #defines from those OpenCV headers that can't be
directly parsed by current SWIG versions and must be pre-filtered by
the C preprocessor (that erases all #defines).
"""
import sys, re
for fn in sys.argv[1:]:
f = open( fn, "r" )
in_define = 0
for l in f.xreadlines():
if re.match( r"^#define\s+(CV_|IPL_|cv)\w+\s+", l ):
in_define = 1
if re.match (r"^#define\s+CV_MAKETYPE", l):
in_define = 1
if re.match (r"^#define\s+CV_CN", l):
in_define = 1
if re.match (r"^#define\s+CV_MAT_TYPE", l):
in_define = 1
if re.match (r"^#define\s+CV_MAT_DEPTH", l):
in_define = 1
if in_define:
print l[:l.find ('/*')]
if not l.endswith( "\\\n" ):
in_define = 0
print
f.close()