aihot  2017-04-26 11:51:54  OpenCV |   查看评论   
  • {  
  •   
  • }  
  •   
  • /************ 创建一个 Hamming 窗口 ********************/  
  • void STCTracker::createHammingWin()  
  • {  
  •     for (int i = 0; i < hammingWin.rows; i++)  
  •     {  
  •         for (int j = 0; j < hammingWin.cols; j++)  
  •         {  
  •             hammingWin.at<double>(i, j) = (0.54 - 0.46 * cos( 2 * CV_PI * i / hammingWin.rows ))   
  •                                         * (0.54 - 0.46 * cos( 2 * CV_PI * j / hammingWin.cols ));  
  •         }  
  •     }  
  • }  
  •   
  • /************ 定义两个复值操作 *****************/  
  • void STCTracker::complexOperation(const Mat src1, const Mat src2, Mat &dst, int flag)  
  • {  
  •     CV_Assert(src1.size == src2.size);  
  •     CV_Assert(src1.channels() == 2);  
  •   
  •     Mat A_Real, A_Imag, B_Real, B_Imag, R_Real, R_Imag;  
  •     vector<Mat> planes;  
  •     split(src1, planes);  
  •     planes[0].copyTo(A_Real);  
  •     planes[1].copyTo(A_Imag);  
  •       
  •     split(src2, planes);  
  •     planes[0].copyTo(B_Real);  
  •     planes[1].copyTo(B_Imag);  
  •       
  •     dst.create(src1.rows, src1.cols, CV_64FC2);  
  •     split(dst, planes);  
  •     R_Real = planes[0];  
  •     R_Imag = planes[1];  
  •       
  •     for (int i = 0; i < A_Real.rows; i++)  
  •     {  
  •         for (int j = 0; j < A_Real.cols; j++)  
  •         {  
  •             double a = A_Real.at<double>(i, j);  
  •             double b = A_Imag.at<double>(i, j);  
  •             double c = B_Real.at<double>(i, j);  
  •  

    除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自时空上下文视觉跟踪(STC)算法的解读与代码复现

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