fixed failure in Tonemap test
This commit is contained in:
parent
d0b3c7a518
commit
677c7f27cb
@ -47,6 +47,7 @@
|
|||||||
// */
|
// */
|
||||||
|
|
||||||
#include "precomp.hpp"
|
#include "precomp.hpp"
|
||||||
|
#include "opencl_kernels.hpp"
|
||||||
|
|
||||||
namespace cv
|
namespace cv
|
||||||
{
|
{
|
||||||
|
@ -3038,7 +3038,7 @@ const char* typeToStr(int t)
|
|||||||
"?", "?", "?", "?"
|
"?", "?", "?", "?"
|
||||||
};
|
};
|
||||||
int cn = CV_MAT_CN(t);
|
int cn = CV_MAT_CN(t);
|
||||||
return cn >= 4 ? "?" : tab[CV_MAT_DEPTH(t)*4 + cn-1];
|
return cn > 4 ? "?" : tab[CV_MAT_DEPTH(t)*4 + cn-1];
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* memopTypeToStr(int t)
|
const char* memopTypeToStr(int t)
|
||||||
@ -3055,7 +3055,7 @@ const char* memopTypeToStr(int t)
|
|||||||
"?", "?", "?", "?"
|
"?", "?", "?", "?"
|
||||||
};
|
};
|
||||||
int cn = CV_MAT_CN(t);
|
int cn = CV_MAT_CN(t);
|
||||||
return cn >= 4 ? "?" : tab[CV_MAT_DEPTH(t)*4 + cn-1];
|
return cn > 4 ? "?" : tab[CV_MAT_DEPTH(t)*4 + cn-1];
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* convertTypeStr(int sdepth, int ddepth, int cn, char* buf)
|
const char* convertTypeStr(int sdepth, int ddepth, int cn, char* buf)
|
||||||
|
@ -67,8 +67,6 @@
|
|||||||
#define GET_OPTIMIZED(func) (func)
|
#define GET_OPTIMIZED(func) (func)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "opencl_kernels.hpp"
|
|
||||||
|
|
||||||
namespace cv
|
namespace cv
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
//M*/
|
//M*/
|
||||||
|
|
||||||
#include "precomp.hpp"
|
#include "precomp.hpp"
|
||||||
|
#include "opencl_kernels.hpp"
|
||||||
|
|
||||||
///////////////////////////////// UMat implementation ///////////////////////////////
|
///////////////////////////////// UMat implementation ///////////////////////////////
|
||||||
|
|
||||||
|
@ -90,6 +90,7 @@
|
|||||||
\**********************************************************************************/
|
\**********************************************************************************/
|
||||||
|
|
||||||
#include "precomp.hpp"
|
#include "precomp.hpp"
|
||||||
|
#include "opencl_kernels.hpp"
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
#define CV_DESCALE(x,n) (((x) + (1 << ((n)-1))) >> (n))
|
#define CV_DESCALE(x,n) (((x) + (1 << ((n)-1))) >> (n))
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
// */
|
// */
|
||||||
|
|
||||||
#include "precomp.hpp"
|
#include "precomp.hpp"
|
||||||
|
#include "opencl_kernels.hpp"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
@ -1901,7 +1902,7 @@ private:
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static bool ocl_resize( InputArray _src, OutputArray _dst,
|
static bool ocl_resize( InputArray _src, OutputArray _dst, Size dsize,
|
||||||
double fx, double fy, int interpolation)
|
double fx, double fy, int interpolation)
|
||||||
{
|
{
|
||||||
int type = _src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
|
int type = _src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type);
|
||||||
@ -1909,7 +1910,9 @@ static bool ocl_resize( InputArray _src, OutputArray _dst,
|
|||||||
(interpolation == INTER_NEAREST ||
|
(interpolation == INTER_NEAREST ||
|
||||||
(interpolation == INTER_LINEAR && (depth == CV_8U || depth == CV_32F)))) )
|
(interpolation == INTER_LINEAR && (depth == CV_8U || depth == CV_32F)))) )
|
||||||
return false;
|
return false;
|
||||||
UMat src = _src.getUMat(), dst = _dst.getUMat();
|
UMat src = _src.getUMat();
|
||||||
|
_dst.create(dsize, type);
|
||||||
|
UMat dst = _dst.getUMat();
|
||||||
ocl::Kernel k;
|
ocl::Kernel k;
|
||||||
|
|
||||||
if (interpolation == INTER_LINEAR)
|
if (interpolation == INTER_LINEAR)
|
||||||
@ -2051,25 +2054,26 @@ void cv::resize( InputArray _src, OutputArray _dst, Size dsize,
|
|||||||
Size ssize = _src.size();
|
Size ssize = _src.size();
|
||||||
|
|
||||||
CV_Assert( ssize.area() > 0 );
|
CV_Assert( ssize.area() > 0 );
|
||||||
CV_Assert( dsize.area() || (inv_scale_x > 0 && inv_scale_y > 0) );
|
CV_Assert( dsize.area() > 0 || (inv_scale_x > 0 && inv_scale_y > 0) );
|
||||||
if( !dsize.area() )
|
if( dsize.area() == 0 )
|
||||||
{
|
{
|
||||||
dsize = Size(saturate_cast<int>(ssize.width*inv_scale_x),
|
dsize = Size(saturate_cast<int>(ssize.width*inv_scale_x),
|
||||||
saturate_cast<int>(ssize.height*inv_scale_y));
|
saturate_cast<int>(ssize.height*inv_scale_y));
|
||||||
CV_Assert( dsize.area() );
|
CV_Assert( dsize.area() > 0 );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
inv_scale_x = (double)dsize.width/ssize.width;
|
inv_scale_x = (double)dsize.width/ssize.width;
|
||||||
inv_scale_y = (double)dsize.height/ssize.height;
|
inv_scale_y = (double)dsize.height/ssize.height;
|
||||||
}
|
}
|
||||||
_dst.create(dsize, _src.type());
|
|
||||||
|
|
||||||
if( ocl::useOpenCL() && _dst.kind() == _InputArray::UMAT &&
|
if( ocl::useOpenCL() && _dst.kind() == _InputArray::UMAT &&
|
||||||
ocl_resize(_src, _dst, inv_scale_x, inv_scale_y, interpolation) )
|
ocl_resize(_src, _dst, dsize, inv_scale_x, inv_scale_y, interpolation) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Mat src = _src.getMat(), dst = _dst.getMat();
|
Mat src = _src.getMat();
|
||||||
|
_dst.create(dsize, src.type());
|
||||||
|
Mat dst = _dst.getMat();
|
||||||
|
|
||||||
#ifdef HAVE_TEGRA_OPTIMIZATION
|
#ifdef HAVE_TEGRA_OPTIMIZATION
|
||||||
if (tegra::resize(src, dst, (float)inv_scale_x, (float)inv_scale_y, interpolation))
|
if (tegra::resize(src, dst, (float)inv_scale_x, (float)inv_scale_y, interpolation))
|
||||||
|
@ -49,7 +49,6 @@
|
|||||||
#include "opencv2/imgproc/imgproc_c.h"
|
#include "opencv2/imgproc/imgproc_c.h"
|
||||||
#include "opencv2/core/private.hpp"
|
#include "opencv2/core/private.hpp"
|
||||||
#include "opencv2/core/ocl.hpp"
|
#include "opencv2/core/ocl.hpp"
|
||||||
#include "opencl_kernels.hpp"
|
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user