mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 13:47:32 +08:00
added dft for all platforms
This commit is contained in:
parent
dc3c691c8c
commit
dbb5993d13
@ -110,12 +110,8 @@ static bool sumTemplate(InputArray _src, UMat & result)
|
||||
|
||||
static bool useNaive(Size size)
|
||||
{
|
||||
if (!ocl::Device::getDefault().isIntel())
|
||||
return true;
|
||||
|
||||
int dft_size = 18;
|
||||
return size.height < dft_size && size.width < dft_size;
|
||||
|
||||
}
|
||||
|
||||
struct ConvolveBuf
|
||||
@ -138,7 +134,7 @@ void ConvolveBuf::create(Size image_size, Size templ_size)
|
||||
|
||||
const double blockScale = 4.5;
|
||||
const int minBlockSize = 256;
|
||||
|
||||
|
||||
block_size.width = cvRound(result_size.width*blockScale);
|
||||
block_size.width = MAX( block_size.width, minBlockSize - templ_size.width + 1 );
|
||||
block_size.width = std::min( block_size.width, result_size.width );
|
||||
@ -175,7 +171,7 @@ static bool convolve_dft(InputArray _image, InputArray _templ, OutputArray _resu
|
||||
ConvolveBuf buf;
|
||||
CV_Assert(_image.type() == CV_32F);
|
||||
CV_Assert(_templ.type() == CV_32F);
|
||||
|
||||
|
||||
buf.create(_image.size(), _templ.size());
|
||||
_result.create(buf.result_size, CV_32F);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user