阅读 87

opencv-Mat复制

opencv-Mat复制

复制代码

     cv::Mat M(5, 4, CV_8UC3);
     std::cerr<<M<<std::endl;
     cv::Mat MM(M);  //仅是创建了Mat的头部分,MM与M共享数据区
    std::cerr<<MM<<std::endl;
    MM.at<cv::Vec3b>(0,1)[1]=99;
    std::cerr<<M<<std::endl;
    std::cerr<<MM<<std::endl;    //以上显示的数据可以看出,修改MM的值就等于修改了M的值

复制代码

 

复制代码

     cv::Mat M(5, 4, CV_8UC3);
     std::cerr<<M<<std::endl;
     cv::Mat MM=M;  //仅是创建了Mat的头部分,MM与M共享数据区
    std::cerr<<MM<<std::endl;
    MM.at<cv::Vec3b>(0,1)[1]=99;
    std::cerr<<M<<std::endl;
    std::cerr<<MM<<std::endl;    //以上显示的数据可以看出,修改MM的值就等于修改了M的值

复制代码

 

复制代码

     cv::Mat M(5, 4, CV_8UC3);
     std::cerr<<M<<std::endl;
     cv::Mat MM=M.clone() ;//完全拷贝,把M中的所有信息拷贝到MM中
    std::cerr<<MM<<std::endl;
    MM.at<cv::Vec3b>(0,1)[1]=99;
    std::cerr<<M<<std::endl;
    std::cerr<<MM<<std::endl;    //以上显示的数据可以看出,修改了MM的值并没有修改M的值

复制代码

来源https://www.cnblogs.com/liming19680104/p/15374936.html

文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐