相关文章推荐
有情有义的蟠桃  ·  NEWSEQUENTIALID ...·  1 年前    · 

c++ opencv mat copyto

在 OpenCV 中,可以使用 copyTo() 函数来将一个 cv::Mat 对象的内容复制到另一个 cv::Mat 对象中。

void cv::Mat::copyTo(OutputArray m) const
  • m: 输出矩阵,用于存储复制的数据。
  • cv::Mat src = cv::imread("image.jpg", cv::IMREAD_COLOR);
    cv::Mat dst;
    src.copyTo(dst);
    

    上面的代码将 src 矩阵中的内容复制到 dst 矩阵中,dst 矩阵的大小和类型会自动调整为与 src 相同。

    还有另一个函数:

    void cv::Mat::copyTo(OutputArray m, InputArray mask) const
    
  • m: 输出矩阵,用于存储复制的数据。
  • mask: 掩码矩阵,用于指定哪些元素需要复制。
  • cv::Mat src = cv::imread("image.jpg", cv::IMREAD_COLOR);
    cv::Mat dst = cv::Mat::zeros(src.size(), src.type());
    cv::Mat mask = cv::Mat::ones(src.size(), CV_8UC1);
    src.copyTo(dst, mask);
    

    上面的代码将 src 矩阵中对应掩码值为 1 的元素复制到 dst 矩阵中。

  •