cv::copyMakeBorder()中用0值对齐矩阵,方便后续加速傅里叶变换

      int M =
          cv::getOptimalDFTSize(mul_result.rows);  // 获得最佳DFT尺寸,为2的次方
      int N = cv::getOptimalDFTSize(mul_result.cols);  //同上
      cv::Mat padded;
      cv::copyMakeBorder(
          mul_result, padded, 0, M - mul_result.rows, 0, N - mul_result.cols,
          cv::BORDER_CONSTANT,
          cv::Scalar::all(0));

原来的矩阵为 33301, 数据类型为float32
填充后的矩阵为 36301, 数据类型为float32
每行多了3列,最后三列的数据都是0.0

posted on 2019-07-07 21:38  ahfuzhang  阅读(911)  评论(0编辑  收藏  举报