fix rounding bug in Level creation
This commit is contained in:
parent
2bcb8dbd83
commit
022a8b9698
@ -81,16 +81,7 @@ struct __align__(8) Level //is actually 24 bytes
|
|||||||
uchar2 workRect;
|
uchar2 workRect;
|
||||||
uchar2 objSize;
|
uchar2 objSize;
|
||||||
|
|
||||||
Level(int idx, const Octave& oct, const float scale, const int w, const int h)
|
Level(int idx, const Octave& oct, const float scale, const int w, const int h);
|
||||||
: octave(idx), relScale(scale / oct.scale), shrScale (relScale / (float)oct.shrinkage)
|
|
||||||
{
|
|
||||||
workRect.x = round(w / (float)oct.shrinkage);
|
|
||||||
workRect.y = round(h / (float)oct.shrinkage);
|
|
||||||
|
|
||||||
objSize.x = round(oct.size.x * relScale);
|
|
||||||
objSize.y = round(oct.size.y * relScale);
|
|
||||||
}
|
|
||||||
|
|
||||||
__device Level(){}
|
__device Level(){}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -553,7 +553,7 @@ void cv::gpu::integralBuffered(const GpuMat& src, GpuMat& sum, GpuMat& buffer, S
|
|||||||
|
|
||||||
src.locateROI(whole, offset);
|
src.locateROI(whole, offset);
|
||||||
|
|
||||||
if (info.supports(WARP_SHUFFLE_FUNCTIONS) && src.cols <= 2048)
|
if (false && info.supports(WARP_SHUFFLE_FUNCTIONS) && src.cols <= 2048)
|
||||||
{
|
{
|
||||||
GpuMat srcAlligned;
|
GpuMat srcAlligned;
|
||||||
|
|
||||||
|
@ -65,6 +65,16 @@ cv::Size cv::gpu::SoftCascade::getRoiSize() const { throw_nogpu(); return cv::Si
|
|||||||
|
|
||||||
#include <icf.hpp>
|
#include <icf.hpp>
|
||||||
|
|
||||||
|
cv::gpu::device::icf::Level::Level(int idx, const Octave& oct, const float scale, const int w, const int h)
|
||||||
|
: octave(idx), relScale(scale / oct.scale), shrScale (relScale / (float)oct.shrinkage)
|
||||||
|
{
|
||||||
|
workRect.x = round(w / (float)oct.shrinkage);
|
||||||
|
workRect.y = round(h / (float)oct.shrinkage);
|
||||||
|
|
||||||
|
objSize.x = cv::saturate_cast<uchar>(oct.size.x * relScale);
|
||||||
|
objSize.y = cv::saturate_cast<uchar>(oct.size.y * relScale);
|
||||||
|
}
|
||||||
|
|
||||||
namespace cv { namespace gpu { namespace device {
|
namespace cv { namespace gpu { namespace device {
|
||||||
namespace icf {
|
namespace icf {
|
||||||
void fillBins(cv::gpu::PtrStepSzb hogluv, const cv::gpu::PtrStepSzf& nangle,
|
void fillBins(cv::gpu::PtrStepSzb hogluv, const cv::gpu::PtrStepSzf& nangle,
|
||||||
@ -72,7 +82,7 @@ namespace icf {
|
|||||||
}
|
}
|
||||||
namespace imgproc
|
namespace imgproc
|
||||||
{
|
{
|
||||||
void meanShiftFiltering_gpu(const PtrStepSzb& src, PtrStepSzb dst, int sp, int sr, int maxIter, float eps, cudaStream_t stream);
|
void shfl_integral_gpu(PtrStepSzb img, PtrStepSz<unsigned int> integral, cudaStream_t stream);
|
||||||
}
|
}
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user