OpenCV基础-cvCloneImage、c…

来源:互联网 发布:类似知否的种田文 编辑:程序博客网 时间:2024/06/13 22:33
原文地址:cvCloneMat、cvCopyMat">OpenCV基础-cvCloneImage、cvCopyImage和 cvCloneMat、cvCopyMat作者:intuition_smile
cvCloneImage与cvCloneMat是在赋值的同时会开辟一个新的空间给定义的变量,cvCopyImage与cvCopyMat只复制值,并不会分配一个空间给赋值对象,因此cvCloneImage与cvCloneMat只适合用于变量开始定义,千万不要用在算法处理中间,否则会产生一个新的地址空间,会将赋值对象的指针地址改变,这样会导致整个程序有不可预测的错误发生,最明显的就是你本来想把子函数中的新变量值送回上一层函数,但是由于指针的指向已经改变,所以返回后的值并不会改变。在程序中间进行复制时候建议使用cvCopyImage与cvCopyMat。


想要传
IplImage类型指针时 只能用cvcopy和cvcopyimage,否则地址无效。

cvCopy的原型是:(cvCopyImage与之相似
void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL);
cvCloneImage的原型是:
IplImage* cvCloneImage( const IplImage* image );
阅读全文
0 0