Test data necessary for python samples added to test package.
Test launch script updated to run new tests as well.
This commit is contained in:
parent
3afb5a6006
commit
96903dc4ad
@ -631,7 +631,11 @@ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
|
|||||||
if(BUILD_opencv_python)
|
if(BUILD_opencv_python)
|
||||||
file(GLOB py_tests modules/python/test/*.py)
|
file(GLOB py_tests modules/python/test/*.py)
|
||||||
install(PROGRAMS ${py_tests} DESTINATION ${OPENCV_TEST_INSTALL_PATH} COMPONENT tests)
|
install(PROGRAMS ${py_tests} DESTINATION ${OPENCV_TEST_INSTALL_PATH} COMPONENT tests)
|
||||||
set(OPENCV_PYTHON_TESTS_LIST "test2.py")
|
if(BUILD_opencv_nonfree)
|
||||||
|
file(GLOB py_nonfree_tests modules/python/test/nonfree_tests/*.py)
|
||||||
|
install(PROGRAMS ${py_nonfree_tests} DESTINATION ${OPENCV_TEST_INSTALL_PATH}/nonfree_tests COMPONENT tests)
|
||||||
|
endif()
|
||||||
|
set(OPENCV_PYTHON_TESTS_LIST "test.py")
|
||||||
endif()
|
endif()
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_run_all_tests_windows.cmd.in"
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_run_all_tests_windows.cmd.in"
|
||||||
|
@ -86,7 +86,7 @@ set(CPACK_COMPONENT_PYTHON_DEPENDS libs)
|
|||||||
set(CPACK_DEB_PYTHON_PACKAGE_DEPENDS "python-numpy (>=${PYTHON_NUMPY_VERSION}), python${PYTHON_VERSION_MAJOR_MINOR}")
|
set(CPACK_DEB_PYTHON_PACKAGE_DEPENDS "python-numpy (>=${PYTHON_NUMPY_VERSION}), python${PYTHON_VERSION_MAJOR_MINOR}")
|
||||||
set(CPACK_COMPONENT_TESTS_DEPENDS libs)
|
set(CPACK_COMPONENT_TESTS_DEPENDS libs)
|
||||||
if (HAVE_opencv_python)
|
if (HAVE_opencv_python)
|
||||||
set(CPACK_DEB_TESTS_PACKAGE_DEPENDS "python-numpy (>=${PYTHON_NUMPY_VERSION}), python${PYTHON_VERSION_MAJOR_MINOR}, python-py | python-pytest")
|
set(CPACK_DEB_TESTS_PACKAGE_DEPENDS "python-numpy (>=${PYTHON_NUMPY_VERSION}), python${PYTHON_VERSION_MAJOR_MINOR}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(HAVE_CUDA)
|
if(HAVE_CUDA)
|
||||||
|
@ -107,7 +107,7 @@ for t in $OPENCV_PYTHON_TESTS;
|
|||||||
do
|
do
|
||||||
test_name=`basename "$t"`
|
test_name=`basename "$t"`
|
||||||
|
|
||||||
cmd="py.test --junitxml $test_name.xml \"$OPENCV_TEST_PATH\"/$t"
|
cmd="python \"$OPENCV_TEST_PATH\"/$t -v"
|
||||||
|
|
||||||
seg_reg="s/^/${TEXT_CYAN}[$test_name]${TEXT_RESET} /" # append test name
|
seg_reg="s/^/${TEXT_CYAN}[$test_name]${TEXT_RESET} /" # append test name
|
||||||
|
|
||||||
|
@ -18,5 +18,37 @@ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
|
|||||||
DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE
|
DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE
|
||||||
GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
||||||
DESTINATION share/OpenCV/testdata COMPONENT tests)
|
DESTINATION share/OpenCV/testdata COMPONENT tests)
|
||||||
|
if(BUILD_opencv_python)
|
||||||
|
file(GLOB DATAFILES_CPP ../samples/cpp/left*.jpg)
|
||||||
|
list(APPEND DATAFILES_CPP
|
||||||
|
"../samples/cpp/board.jpg"
|
||||||
|
"../samples/cpp/pic1.png"
|
||||||
|
"../samples/cpp/pic6.png"
|
||||||
|
"../samples/cpp/right01.jpg"
|
||||||
|
"../samples/cpp/right02.jpg"
|
||||||
|
"../samples/cpp/building.jpg"
|
||||||
|
"../samples/cpp/tsukuba_l.png"
|
||||||
|
"../samples/cpp/tsukuba_r.png"
|
||||||
|
"../samples/cpp/letter-recognition.data")
|
||||||
|
install(FILES ${DATAFILES_CPP} DESTINATION share/OpenCV/testdata/samples/cpp COMPONENT tests)
|
||||||
|
set(DATAFILES_C
|
||||||
|
"../samples/c/lena.jpg"
|
||||||
|
"../samples/c/box.png")
|
||||||
|
install(FILES ${DATAFILES_C} DESTINATION share/OpenCV/testdata/samples/c COMPONENT tests)
|
||||||
|
set(DATAFILES_GPU
|
||||||
|
"../samples/gpu/basketball1.png"
|
||||||
|
"../samples/gpu/basketball2.png"
|
||||||
|
"../samples/gpu/rubberwhale1.png")
|
||||||
|
install(FILES ${DATAFILES_GPU} DESTINATION share/OpenCV/testdata/samples/gpu COMPONENT tests)
|
||||||
|
set(DATAFILES_PYTHON
|
||||||
|
"../samples/python2/data/graf1.png"
|
||||||
|
"../samples/python2/data/pca_test1.jpg"
|
||||||
|
"../samples/python2/data/digits.png")
|
||||||
|
install(FILES ${DATAFILES_PYTHON} DESTINATION share/OpenCV/testdata/samples/python2/data COMPONENT tests)
|
||||||
|
set(DATAFILES_CASCADES
|
||||||
|
"haarcascades/haarcascade_frontalface_alt.xml"
|
||||||
|
"haarcascades/haarcascade_eye.xml")
|
||||||
|
install(FILES ${DATAFILES_CASCADES} DESTINATION share/OpenCV/testdata/data/haarcascades COMPONENT tests)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
0
modules/python/test/nonfree_tests/__init__.py
Normal file
0
modules/python/test/nonfree_tests/__init__.py
Normal file
28
modules/python/test/nonfree_tests/nonfree_surf.py
Normal file
28
modules/python/test/nonfree_tests/nonfree_surf.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# Python 2/3 compatibility
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
import cv2
|
||||||
|
import cv2.cv as cv
|
||||||
|
|
||||||
|
from test import OpenCVTests
|
||||||
|
|
||||||
|
class NonFreeFunctionTests(OpenCVTests):
|
||||||
|
|
||||||
|
def test_ExtractSURF(self):
|
||||||
|
img = self.get_sample("samples/c/lena.jpg", 0)
|
||||||
|
w,h = cv.GetSize(img)
|
||||||
|
for hessthresh in [ 300,400,500]:
|
||||||
|
for dsize in [0,1]:
|
||||||
|
for layers in [1,3,10]:
|
||||||
|
kp,desc = cv.ExtractSURF(img, None, cv.CreateMemStorage(), (dsize, hessthresh, 3, layers))
|
||||||
|
self.assertTrue(len(kp) == len(desc))
|
||||||
|
for d in desc:
|
||||||
|
self.assertTrue(len(d) == {0:64, 1:128}[dsize])
|
||||||
|
for pt,laplacian,size,dir,hessian in kp:
|
||||||
|
self.assertTrue((0 <= pt[0]) and (pt[0] <= w))
|
||||||
|
self.assertTrue((0 <= pt[1]) and (pt[1] <= h))
|
||||||
|
self.assertTrue(laplacian in [-1, 0, 1])
|
||||||
|
self.assertTrue((0 <= dir) and (dir <= 360))
|
||||||
|
self.assertTrue(hessian >= hessthresh)
|
@ -128,6 +128,7 @@ from tests_common import NewOpenCVTests
|
|||||||
basedir = os.path.abspath(os.path.dirname(__file__))
|
basedir = os.path.abspath(os.path.dirname(__file__))
|
||||||
|
|
||||||
def load_tests(loader, tests, pattern):
|
def load_tests(loader, tests, pattern):
|
||||||
|
tests.addTests(loader.discover(basedir, pattern='nonfree_*.py'))
|
||||||
tests.addTests(loader.discover(basedir, pattern='test_*.py'))
|
tests.addTests(loader.discover(basedir, pattern='test_*.py'))
|
||||||
return tests
|
return tests
|
||||||
|
|
||||||
@ -431,23 +432,6 @@ class FunctionTests(OpenCVTests):
|
|||||||
cv.SetZero(im)
|
cv.SetZero(im)
|
||||||
cv.DrawChessboardCorners(im, (5, 5), [ ((i/5)*100+50,(i%5)*100+50) for i in range(5 * 5) ], 1)
|
cv.DrawChessboardCorners(im, (5, 5), [ ((i/5)*100+50,(i%5)*100+50) for i in range(5 * 5) ], 1)
|
||||||
|
|
||||||
def test_ExtractSURF(self):
|
|
||||||
img = self.get_sample("samples/c/lena.jpg", 0)
|
|
||||||
w,h = cv.GetSize(img)
|
|
||||||
for hessthresh in [ 300,400,500]:
|
|
||||||
for dsize in [0,1]:
|
|
||||||
for layers in [1,3,10]:
|
|
||||||
kp,desc = cv.ExtractSURF(img, None, cv.CreateMemStorage(), (dsize, hessthresh, 3, layers))
|
|
||||||
self.assert_(len(kp) == len(desc))
|
|
||||||
for d in desc:
|
|
||||||
self.assert_(len(d) == {0:64, 1:128}[dsize])
|
|
||||||
for pt,laplacian,size,dir,hessian in kp:
|
|
||||||
self.assert_((0 <= pt[0]) and (pt[0] <= w))
|
|
||||||
self.assert_((0 <= pt[1]) and (pt[1] <= h))
|
|
||||||
self.assert_(laplacian in [-1, 0, 1])
|
|
||||||
self.assert_((0 <= dir) and (dir <= 360))
|
|
||||||
self.assert_(hessian >= hessthresh)
|
|
||||||
|
|
||||||
def test_FillPoly(self):
|
def test_FillPoly(self):
|
||||||
scribble = cv.CreateImage((640,480), cv.IPL_DEPTH_8U, 1)
|
scribble = cv.CreateImage((640,480), cv.IPL_DEPTH_8U, 1)
|
||||||
random.seed(0)
|
random.seed(0)
|
||||||
@ -2249,6 +2233,12 @@ if __name__ == '__main__':
|
|||||||
print "Local data path:", args.data
|
print "Local data path:", args.data
|
||||||
OpenCVTests.repoPath = args.repo
|
OpenCVTests.repoPath = args.repo
|
||||||
NewOpenCVTests.repoPath = args.repo
|
NewOpenCVTests.repoPath = args.repo
|
||||||
|
if args.repo is None:
|
||||||
|
try:
|
||||||
|
OpenCVTests.repoPath = os.environ['OPENCV_TEST_DATA_PATH']
|
||||||
|
NewOpenCVTests.repoPath = OpenCVTests.repoPath
|
||||||
|
except KeyError:
|
||||||
|
print('Missing opencv samples data. Some of tests may fail.')
|
||||||
try:
|
try:
|
||||||
OpenCVTests.dataPath = os.environ['OPENCV_TEST_DATA_PATH']
|
OpenCVTests.dataPath = os.environ['OPENCV_TEST_DATA_PATH']
|
||||||
NewOpenCVTests.extraTestDataPath = OpenCVTests.dataPath
|
NewOpenCVTests.extraTestDataPath = OpenCVTests.dataPath
|
||||||
|
Loading…
x
Reference in New Issue
Block a user