2011-09-18 102 views
1

我想檢測由N * N定義的柵格瓷磚中的移動,我試過一種方法,它由https://stackoverflow.com/users/724461/andrey-kamaev 完成,它顯示在下面的代碼中,但是結果是不準確的,我想做一個更準確的方法。OpenCV:檢測瓷磚中的運動

cv::Sobel(input, sobel, CV_32F, 1, 1); 

       int h = input.rows/NUM_BLOCK_ROWS; 
       int w = input.rows/NUM_BLOCK_COLUMNS; 
       float pos=0; 
       for (int r = 0; r<NUM_BLOCK_ROWS; r++) 
        for(int c=0; c<NUM_BLOCK_COLUMNS; c++) 
        { 
          cv::Scalar weight = cv::sum(sobel(cv::Range(h*r, (r+1)*h), cv::Range(c*w, (c+1)*w))); 

          if (weight[0] + weight[1] > 60) { 
            input(cv::Range(h*r, (r+1)*h-1), cv::Range(c*w, (c+1)*w-1)).setTo(cv::Scalar(0,0,255)); 

          } 

        } 
+0

任何幫助真的很讚賞 –

回答

0

我用框架差異的方法,它的工作。