82 lines
2.2 KiB
Python
82 lines
2.2 KiB
Python
# cvtestutils.py
|
|
#
|
|
# This module is meant to aid writing and running Python-based tests
|
|
# within the OpenCV tree.
|
|
#
|
|
# 2009-01-23, Roman Stanchak <rstanchak@gmail.com>
|
|
#
|
|
#
|
|
# Upon importing, this module adds the following python module
|
|
# directories from the dev tree to sys.path (i.e. PYTHON_PATH):
|
|
# opencv/interfaces/swig/python and opencv/lib
|
|
#
|
|
# Using it in a test case is simple, just be sure to import
|
|
# cvtestutils before cv, highgui, etc
|
|
#
|
|
# Usage:
|
|
# import cvtestutils
|
|
# import cv
|
|
|
|
import os
|
|
import imp
|
|
import sys
|
|
|
|
def top_srcdir():
|
|
"""
|
|
Return a string containing the top-level source directory in the OpenCV tree
|
|
"""
|
|
dir = os.path.dirname(os.path.realpath(__file__))
|
|
|
|
# top level dir should be two levels up from this file
|
|
return os.path.realpath( os.path.join( dir, '..', '..' ) )
|
|
|
|
def top_builddir():
|
|
"""
|
|
Return a string containing the top-level build directory in the OpenCV tree.
|
|
Either returns realpath(argv[1]) or top_srcdir();
|
|
"""
|
|
if len(sys.argv)>1: return os.path.realpath( sys.argv[1] );
|
|
else: return top_srcdir();
|
|
|
|
def initpath():
|
|
"""
|
|
Prepend the python module directories from the dev tree to sys.path
|
|
(i.e. PYTHON_PATH)
|
|
"""
|
|
|
|
# add path for OpenCV source directory (for adapters.py)
|
|
moduledir = os.path.join(top_srcdir(), 'interfaces','swig','python')
|
|
moduledir = os.path.realpath(moduledir)
|
|
sys.path.insert(0, moduledir)
|
|
|
|
# add path for OpenCV build directory
|
|
moduledir = os.path.join(top_builddir(), 'interfaces','swig','python')
|
|
moduledir = os.path.realpath(moduledir)
|
|
sys.path.insert(0, moduledir)
|
|
|
|
libdir = os.path.join(top_builddir(), 'lib' )
|
|
libdir = os.path.realpath(libdir)
|
|
sys.path.insert(0, libdir)
|
|
|
|
def which():
|
|
"""
|
|
Print the directory containing cv.py
|
|
"""
|
|
import cv
|
|
print "Using OpenCV Python in: " + os.path.dirname(cv.__file__)
|
|
|
|
def datadir():
|
|
"""
|
|
Return a string containing the full path to the python testdata directory
|
|
"""
|
|
return os.path.sep.join([top_srcdir(), '..', 'opencv_extra', 'testdata', 'python'])
|
|
|
|
### Module Initialization
|
|
try:
|
|
if MODULE_LOADED:
|
|
pass
|
|
except NameError:
|
|
initpath()
|
|
which()
|
|
MODULE_LOADED=1
|