fix CUDA HOG for multi GPU systems:

move GPU constants initialization from constructor to compute method
pull/3600/head
Vladislav Vinogradov 10 years ago
parent f126f371b2
commit 0af7597d36
  1. 6
      modules/cudaobjdetect/src/hog.cpp

@ -127,9 +127,6 @@ cv::cuda::HOGDescriptor::HOGDescriptor(Size win_size_, Size block_size_, Size bl
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::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::cuda::HOGDescriptor::getDescriptorSize() const
@ -221,6 +218,9 @@ void cv::cuda::HOGDescriptor::computeGradient(const GpuMat& img, GpuMat& _grad,
void cv::cuda::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);
size_t block_hist_size = getBlockHistogramSize();

Loading…
Cancel
Save