aihot  2017-04-27 21:18:46  OpenCV |   查看评论   
            float fy = flow_at_point[1];  
  •             if ((fabs(fx) >  UNKNOWN_FLOW_THRESH) || (fabs(fy) >  UNKNOWN_FLOW_THRESH))  
  •                 continue;  
  •             float rad = sqrt(fx * fx + fy * fy);  
  •             maxrad = maxrad > rad ? maxrad : rad;  
  •         }  
  •     }  
  •   
  •     for (int i= 0; i < flow.rows; ++i)   
  •     {  
  •         for (int j = 0; j < flow.cols; ++j)   
  •         {  
  •             uchar *data = color.data + color.step[0] * i + color.step[1] * j;  
  •             Vec2f flow_at_point = flow.at<Vec2f>(i, j);  
  •   
  •             float fx = flow_at_point[0] / maxrad;  
  •             float fy = flow_at_point[1] / maxrad;  
  •             if ((fabs(fx) >  UNKNOWN_FLOW_THRESH) || (fabs(fy) >  UNKNOWN_FLOW_THRESH))  
  •             {  
  •                 data[0] = data[1] = data[2] = 0;  
  •                 continue;  
  •             }  
  •             float rad = sqrt(fx * fx + fy * fy);  
  •   
  •             float angle = atan2(-fy, -fx) / CV_PI;  
  •             float fk = (angle + 1.0) / 2.0 * (colorwheel.size()-1);  
  •             int k0 = (int)fk;  
  •             int k1 = (k0 + 1) % colorwheel.size();  
  •             float f = fk - k0;  
  •             //f = 0; // 取消评论看原色轮
  •   
  •             for (int b = 0; b < 3; b++)   
  •             {  
  •                 float col0 = colorwheel[k0][b] / 255.0;  
  •                 float col1 = colorwheel[k1][b] / 255.0;  
  •                 float col = (1 - f) * col0 + f * col1;  
  •                 
  •  

    除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自流Optical Flow介绍与OpenCV实现

    留言与评论(共有 0 条评论)
       
    验证码:
    [lianlun]1[/lianlun]