Commit 4539607a authored by Vladislav Vinogradov's avatar Vladislav Vinogradov Committed by Alexander Smorkalov

fix gpu HOG implementation:

move hog::set_up_constants from constructor to compute method

if user changed CUDA device between constructor and computation,
some variables were uninitialized
(cherry picked from commit 21bbed7b)
parent b320138d
...@@ -127,9 +127,6 @@ cv::gpu::HOGDescriptor::HOGDescriptor(Size win_size_, Size block_size_, Size blo ...@@ -127,9 +127,6 @@ cv::gpu::HOGDescriptor::HOGDescriptor(Size win_size_, Size block_size_, Size blo
Size cells_per_block = Size(block_size.width / cell_size.width, block_size.height / cell_size.height); Size cells_per_block = Size(block_size.width / cell_size.width, block_size.height / cell_size.height);
CV_Assert(cells_per_block == Size(2, 2)); CV_Assert(cells_per_block == Size(2, 2));
cv::Size blocks_per_win = numPartsWithin(win_size, block_size, block_stride);
hog::set_up_constants(nbins, block_stride.width, block_stride.height, blocks_per_win.width, blocks_per_win.height);
} }
size_t cv::gpu::HOGDescriptor::getDescriptorSize() const size_t cv::gpu::HOGDescriptor::getDescriptorSize() const
...@@ -221,6 +218,9 @@ void cv::gpu::HOGDescriptor::computeGradient(const GpuMat& img, GpuMat& _grad, G ...@@ -221,6 +218,9 @@ void cv::gpu::HOGDescriptor::computeGradient(const GpuMat& img, GpuMat& _grad, G
void cv::gpu::HOGDescriptor::computeBlockHistograms(const GpuMat& img) void cv::gpu::HOGDescriptor::computeBlockHistograms(const GpuMat& img)
{ {
cv::Size blocks_per_win = numPartsWithin(win_size, block_size, block_stride);
hog::set_up_constants(nbins, block_stride.width, block_stride.height, blocks_per_win.width, blocks_per_win.height);
computeGradient(img, grad, qangle); computeGradient(img, grad, qangle);
size_t block_hist_size = getBlockHistogramSize(); size_t block_hist_size = getBlockHistogramSize();
......
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