]> rtime.felk.cvut.cz Git - hercules2020/kcf.git/commitdiff
Added more verbose error message, when checking window size.
authorShanigen <vkaraf@gmail.com>
Wed, 18 Jul 2018 10:45:35 +0000 (12:45 +0200)
committerShanigen <vkaraf@gmail.com>
Wed, 18 Jul 2018 10:45:35 +0000 (12:45 +0200)
src/fft_cufft.cpp
src/kcf.cpp

index 714c599bf0b19ba8ca3326a908f96c71e653decf..85271b6fc91aef30e16fbff3de0245bec0fd3ce7 100644 (file)
@@ -10,11 +10,6 @@ void cuFFT::init(unsigned width, unsigned height, unsigned num_of_feats, unsigne
 
     std::cout << "FFT: cuFFT" << std::endl;
 
-    if(m_height*(m_width/2+1) > 1024){
-        std::cerr << "Image dimension after forward FFT are too big for CUDA kernels." << std::endl;
-        std::exit(EXIT_FAILURE);
-    }
-    
     //FFT forward one scale
     {
         CudaSafeCall(cudaMalloc(&data_f, m_height*m_width*sizeof(cufftReal)));
index 32a667d842a48ea9341cdddad92bc4bf44b2ad8e..ff4b3a74dac5fa79f67e44c4cac5593775a04980 100644 (file)
@@ -133,6 +133,11 @@ void KCF_Tracker::init(cv::Mat &img, const cv::Rect & bbox, int fit_size_x, int
         p_scales.push_back(1.);
 
 #ifdef CUFFT
+    if(p_windows_size[1]/p_cell_size*(p_windows_size[0]/p_cell_size/2+1) > 1024){
+        std::cerr << "Window after forward FFT is too big for CUDA kernels. Plese use -f to set the window dimensions so its size is less 1024 pixels in frequency domain. Currently the size of the window is: " <<  p_windows_size[0] << "x" <<  p_windows_size[1] << " which after forward FFT with cell size set to " << p_cell_size << " will be: " << p_windows_size[0]/p_cell_size/2+1 << "x" <<  p_windows_size[1]/p_cell_size << ", which is " << p_windows_size[1]/p_cell_size*(p_windows_size[0]/p_cell_size/2+1) << " pixels."<< std::endl;
+        std::exit(EXIT_FAILURE);
+    }
+
     if (m_use_linearkernel){
         std::cerr << "cuFFT supports only Gaussian kernel." << std::endl;
         exit(1);