You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
10 years ago
|
#include "layers_common.hpp"
|
||
|
|
||
|
namespace cv
|
||
|
{
|
||
|
namespace dnn
|
||
|
{
|
||
|
|
||
|
void getKernelParams(LayerParams ¶ms, int &kernelH, int &kernelW, int &padH, int &padW, int &strideH, int &strideW)
|
||
|
{
|
||
|
if (params.has("kernel_h") && params.has("kernel_w"))
|
||
|
{
|
||
|
kernelH = params.get<int>("kernel_h");
|
||
|
kernelW = params.get<int>("kernel_w");
|
||
|
}
|
||
|
else if (params.has("kernel_size"))
|
||
|
{
|
||
|
kernelH = kernelW = params.get<int>("kernel_size");
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
CV_Error(cv::Error::StsBadArg, "kernel_size (or kernel_h and kernel_w) not specified");
|
||
|
}
|
||
|
|
||
|
if (params.has("pad_h") && params.has("pad_w"))
|
||
|
{
|
||
|
padH = params.get<int>("pad_h");
|
||
|
padW = params.get<int>("pad_w");
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
padH = padW = params.get<int>("pad", 0);
|
||
|
}
|
||
|
|
||
|
if (params.has("stride_h") && params.has("stride_w"))
|
||
|
{
|
||
|
strideH = params.get<int>("stride_h");
|
||
|
strideW = params.get<int>("stride_w");
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
strideH = strideW = params.get<int>("stride", 1);
|
||
|
}
|
||
|
|
||
|
CV_Assert(kernelH > 0 && kernelW > 0 && padH >= 0 && padW >= 0 && strideH > 0 & strideW > 0);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|