Opencv 函数copyTo() 与clone()

来源:互联网 发布:青岛互联网公司 知乎 编辑:程序博客网 时间:2024/06/05 11:50

copyTo 也是深拷贝,但是否申请新的内存空间,取决于dst矩阵头中的大小信息是否与src一至,若一致则只深拷贝并不申请新的空间,否则先申请空间后再进行拷贝.

clone 是完全的深拷贝,在内存中申请新的空间

用法:

Mat A  = Mat::ones(4,5,CV_32F);

Mat B = A.clone()    //clone 是完全的深拷贝,在内存中申请新的空间,与A独立

Mat C;

A.copyTo(C) //此处的C矩阵大小与A大小不一致,则申请新的内存空间,并完成拷贝,等同于clone()

Mat D = A.col(1);

A.col(0).copyTo(D) //此处D矩阵大小与A.col(0)大小一致,因此不会申请空间,而是直接进行拷贝,相当于把A的第1列赋值给第二列


0 0
原创粉丝点击