From 3cab9e7a9c79736614dbbed441c029b22539604b Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Mon, 17 Sep 2018 22:13:01 +0000 Subject: [PATCH] 3.4: fixes --- modules/python/test/test_dnn.py | 15 +++++++++------ modules/python/test/tests_common.py | 5 +++-- modules/videoio/src/cap_ffmpeg_impl.hpp | 4 ++++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/modules/python/test/test_dnn.py b/modules/python/test/test_dnn.py index b726c29849..a1b55f4358 100644 --- a/modules/python/test/test_dnn.py +++ b/modules/python/test/test_dnn.py @@ -3,7 +3,7 @@ import os import cv2 as cv import numpy as np -from tests_common import NewOpenCVTests +from tests_common import NewOpenCVTests, unittest def normAssert(test, a, b, lInf=1e-5): test.assertLess(np.max(np.abs(a - b)), lInf) @@ -95,7 +95,7 @@ if haveInfEngine: if cv.ocl.haveOpenCL() and cv.ocl.useOpenCL(): dnnBackendsAndTargets.append([cv.dnn.DNN_BACKEND_OPENCV, cv.dnn.DNN_TARGET_OPENCL]) dnnBackendsAndTargets.append([cv.dnn.DNN_BACKEND_OPENCV, cv.dnn.DNN_TARGET_OPENCL_FP16]) - if haveInfEngine: + if haveInfEngine: # FIXIT Check Intel iGPU only dnnBackendsAndTargets.append([cv.dnn.DNN_BACKEND_INFERENCE_ENGINE, cv.dnn.DNN_TARGET_OPENCL]) dnnBackendsAndTargets.append([cv.dnn.DNN_BACKEND_INFERENCE_ENGINE, cv.dnn.DNN_TARGET_OPENCL_FP16]) @@ -116,8 +116,8 @@ def printParams(backend, target): class dnn_test(NewOpenCVTests): - def find_dnn_file(self, filename): - return self.find_file(filename, [os.environ['OPENCV_DNN_TEST_DATA_PATH']]) + def find_dnn_file(self, filename, required=True): + return self.find_file(filename, [os.environ.get('OPENCV_DNN_TEST_DATA_PATH', os.getcwd())], required=required) def test_blobFromImage(self): np.random.seed(324) @@ -147,8 +147,11 @@ class dnn_test(NewOpenCVTests): def test_face_detection(self): - proto = self.find_dnn_file('dnn/opencv_face_detector.prototxt') - model = self.find_dnn_file('dnn/opencv_face_detector.caffemodel') + testdata_required = bool(os.environ.get('OPENCV_DNN_TEST_REQUIRE_TESTDATA', False)) + proto = self.find_dnn_file('dnn/opencv_face_detector.prototxt2', required=testdata_required) + model = self.find_dnn_file('dnn/opencv_face_detector.caffemodel', required=testdata_required) + if proto is None or model is None: + raise unittest.SkipTest("Missing DNN test files (dnn/opencv_face_detector.{prototxt/caffemodel}). Verify OPENCV_DNN_TEST_DATA_PATH configuration parameter.") img = self.get_sample('gpu/lbpcascade/er.png') blob = cv.dnn.blobFromImage(img, mean=(104, 177, 123), swapRB=False, crop=False) diff --git a/modules/python/test/tests_common.py b/modules/python/test/tests_common.py index 4e3b4ef1bf..a938a8e2cb 100644 --- a/modules/python/test/tests_common.py +++ b/modules/python/test/tests_common.py @@ -26,14 +26,15 @@ class NewOpenCVTests(unittest.TestCase): # github repository url repoUrl = 'https://raw.github.com/opencv/opencv/master' - def find_file(self, filename, searchPaths=[]): + def find_file(self, filename, searchPaths=[], required=True): searchPaths = searchPaths if searchPaths else [self.repoPath, self.extraTestDataPath] for path in searchPaths: if path is not None: candidate = path + '/' + filename if os.path.isfile(candidate): return candidate - self.fail('File ' + filename + ' not found') + if required: + self.fail('File ' + filename + ' not found') return None diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp index e0198be5f8..ce337ea10f 100644 --- a/modules/videoio/src/cap_ffmpeg_impl.hpp +++ b/modules/videoio/src/cap_ffmpeg_impl.hpp @@ -58,6 +58,10 @@ # pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif +#ifndef CV_UNUSED // Required for standalone compilation mode (OpenCV defines this in base.hpp) +#define CV_UNUSED(name) (void)name +#endif + #ifdef __cplusplus extern "C" { #endif