OpenCV for Tegra compilation fix for
authorAlexander Smorkalov <alexander.smorkalov@itseez.com>
Tue, 6 Jan 2015 13:57:21 +0000 (16:57 +0300)
committerAlexander Smorkalov <alexander.smorkalov@itseez.com>
Mon, 12 Jan 2015 20:43:26 +0000 (23:43 +0300)
- Gaussian blur;
- CascadeClassifier;
- Blenders in stitching module;
- Laplacial pyromids in stitching module.

modules/imgproc/src/smooth.cpp
modules/objdetect/src/cascadedetect.cpp
modules/objdetect/src/cascadedetect.hpp
modules/stitching/src/blenders.cpp

index 5ab70d9..2a69003 100644 (file)
@@ -1497,7 +1497,9 @@ void cv::GaussianBlur( InputArray _src, OutputArray _dst, Size ksize,
     }
 
 #ifdef HAVE_TEGRA_OPTIMIZATION
-    if(sigma1 == 0 && sigma2 == 0 && tegra::gaussian(_src.getMat(), _dst.getMat(), ksize, borderType))
+    Mat src = _src.getMat();
+    Mat dst = _dst.getMat();
+    if(sigma1 == 0 && sigma2 == 0 && tegra::gaussian(src, dst, ksize, borderType))
         return;
 #endif
 
index 4e25a5c..8a61c2d 100644 (file)
@@ -931,7 +931,7 @@ Ptr<CascadeClassifierImpl::MaskGenerator> CascadeClassifierImpl::getMaskGenerato
 Ptr<BaseCascadeClassifier::MaskGenerator> createFaceDetectionMaskGenerator()
 {
 #ifdef HAVE_TEGRA_OPTIMIZATION
-    return tegra::getCascadeClassifierMaskGenerator(*this);
+    return tegra::getCascadeClassifierMaskGenerator();
 #else
     return Ptr<BaseCascadeClassifier::MaskGenerator>();
 #endif
index 17eeccd..4cbf3e9 100644 (file)
@@ -1,5 +1,7 @@
 #pragma once
 
+#include "opencv2/core/ocl.hpp"
+
 namespace cv
 {
 
index c36e687..3fddff5 100644 (file)
@@ -477,6 +477,8 @@ static bool ocl_normalizeUsingWeightMap(InputArray _weight, InputOutputArray _ma
 void normalizeUsingWeightMap(InputArray _weight, InputOutputArray _src)
 {
 #ifdef HAVE_TEGRA_OPTIMIZATION
+    Mat weight = _weight.getMat();
+    Mat src = _src.getMat();
     if(tegra::normalizeUsingWeightMap(weight, src))
         return;
 #endif
@@ -486,9 +488,6 @@ void normalizeUsingWeightMap(InputArray _weight, InputOutputArray _src)
             !ocl_normalizeUsingWeightMap(_weight, _src) )
 #endif
     {
-        Mat weight = _weight.getMat();
-        Mat src = _src.getMat();
-
         CV_Assert(src.type() == CV_16SC3);
 
         if(weight.type() == CV_32FC1)
@@ -547,7 +546,8 @@ void createWeightMap(InputArray mask, float sharpness, InputOutputArray weight)
 void createLaplacePyr(InputArray img, int num_levels, std::vector<UMat> &pyr)
 {
 #ifdef HAVE_TEGRA_OPTIMIZATION
-    if(tegra::createLaplacePyr(img, num_levels, pyr))
+    cv::Mat imgMat = img.getMat();
+    if(tegra::createLaplacePyr(imgMat, num_levels, pyr))
         return;
 #endif