首页 > 其他 > 详细

copyTo和clone的区别

时间:2018-01-28 16:11:42      阅读:219      评论:0      收藏:0      [点我收藏+]

OpenCV中mat::copyto( )函数使用方法

  使用OpenCV库进行图像处理时,经常会用到clone和copyTo函数,这里对两个函数进行介绍。

  • copyTo函数

  实现和clone一样的功能,但一般多用于掩模贴图

1 Mat src = imread(imagepath); 
2 Mat src_temp;
3 src.copyTo(src_temp);

  另外用途最广的是它的贴图功能:

1 src.copyTo(src_temp, mask);

  其中mask为一个二值的掩模图像,如果如果在某个像素点(i, j)其值为1,则把src中对应位置的像素复制到src_temp中,其余为0的位置像素保持不变。

  • clone函数

  分析源码可以看出,该函数的实现是copyTo的第一种用法:

1 inline Mat Mat::clone() const
2 {
3    Mat m;
4     copyTo(m);
5     return m; 
6 }

  多用于复制图片,比如读入一张图像,对其进行处理时,只是想看下效果并不像让原图发生变化,这时候可以重新声明如下:

1 Mat src = imread(imagepath);
2 Mat src_temp = src.clone();

 

copyTo和clone的区别

原文:https://www.cnblogs.com/qinguoyi/p/8371292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!