Commit b6023eab authored by Vadim Pisarevsky's avatar Vadim Pisarevsky

Merge pull request #3594 from asmorkalov:opencv4tegra_support

parents df57d038 cc97c57f
...@@ -1497,7 +1497,9 @@ void cv::GaussianBlur( InputArray _src, OutputArray _dst, Size ksize, ...@@ -1497,7 +1497,9 @@ void cv::GaussianBlur( InputArray _src, OutputArray _dst, Size ksize,
} }
#ifdef HAVE_TEGRA_OPTIMIZATION #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; return;
#endif #endif
......
...@@ -931,7 +931,7 @@ Ptr<CascadeClassifierImpl::MaskGenerator> CascadeClassifierImpl::getMaskGenerato ...@@ -931,7 +931,7 @@ Ptr<CascadeClassifierImpl::MaskGenerator> CascadeClassifierImpl::getMaskGenerato
Ptr<BaseCascadeClassifier::MaskGenerator> createFaceDetectionMaskGenerator() Ptr<BaseCascadeClassifier::MaskGenerator> createFaceDetectionMaskGenerator()
{ {
#ifdef HAVE_TEGRA_OPTIMIZATION #ifdef HAVE_TEGRA_OPTIMIZATION
return tegra::getCascadeClassifierMaskGenerator(*this); return tegra::getCascadeClassifierMaskGenerator();
#else #else
return Ptr<BaseCascadeClassifier::MaskGenerator>(); return Ptr<BaseCascadeClassifier::MaskGenerator>();
#endif #endif
......
#pragma once #pragma once
#include "opencv2/core/ocl.hpp"
namespace cv namespace cv
{ {
......
...@@ -476,7 +476,11 @@ static bool ocl_normalizeUsingWeightMap(InputArray _weight, InputOutputArray _ma ...@@ -476,7 +476,11 @@ static bool ocl_normalizeUsingWeightMap(InputArray _weight, InputOutputArray _ma
void normalizeUsingWeightMap(InputArray _weight, InputOutputArray _src) void normalizeUsingWeightMap(InputArray _weight, InputOutputArray _src)
{ {
Mat src;
Mat weight;
#ifdef HAVE_TEGRA_OPTIMIZATION #ifdef HAVE_TEGRA_OPTIMIZATION
src = _src.getMat();
weight = _weight.getMat();
if(tegra::normalizeUsingWeightMap(weight, src)) if(tegra::normalizeUsingWeightMap(weight, src))
return; return;
#endif #endif
...@@ -486,12 +490,12 @@ void normalizeUsingWeightMap(InputArray _weight, InputOutputArray _src) ...@@ -486,12 +490,12 @@ void normalizeUsingWeightMap(InputArray _weight, InputOutputArray _src)
!ocl_normalizeUsingWeightMap(_weight, _src) ) !ocl_normalizeUsingWeightMap(_weight, _src) )
#endif #endif
{ {
Mat weight = _weight.getMat(); src = _src.getMat();
Mat src = _src.getMat(); weight = _weight.getMat();
CV_Assert(src.type() == CV_16SC3); CV_Assert(src.type() == CV_16SC3);
if(weight.type() == CV_32FC1) if (weight.type() == CV_32FC1)
{ {
for (int y = 0; y < src.rows; ++y) for (int y = 0; y < src.rows; ++y)
{ {
...@@ -547,7 +551,8 @@ void createWeightMap(InputArray mask, float sharpness, InputOutputArray weight) ...@@ -547,7 +551,8 @@ void createWeightMap(InputArray mask, float sharpness, InputOutputArray weight)
void createLaplacePyr(InputArray img, int num_levels, std::vector<UMat> &pyr) void createLaplacePyr(InputArray img, int num_levels, std::vector<UMat> &pyr)
{ {
#ifdef HAVE_TEGRA_OPTIMIZATION #ifdef HAVE_TEGRA_OPTIMIZATION
if(tegra::createLaplacePyr(img, num_levels, pyr)) cv::Mat imgMat = img.getMat();
if(tegra::createLaplacePyr(imgMat, num_levels, pyr))
return; return;
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment