本文主要是介绍OpenCV基础-cvCloneImage、c…,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原文地址:OpenCV基础-cvCloneImage、cvCopyImage和 cvCloneMat、cvCopyMat 作者:intuition_smile
cvCloneImage与cvCloneMat是在赋值的同时会开辟一个新的空间给定义的变量,cvCopyImage与cvCopyMat只复制值,并不会分配一个空间给赋值对象,因此cvCloneImage与 cvCloneMat只适合用于变量开始定义,千万不要用在算法处理中间,否则会产生一个新的地址空间,会将赋值对象的指针地址改变,这样会导致整个程序 有不可预测的错误发生,最明显的就是你本来想把子函数中的新变量值送回上一层函数,但是由于指针的指向已经改变,所以返回后的值并不会改变。在程序中间进 行复制时候建议使用cvCopyImage与cvCopyMat。
想要传IplImage类型指针时
cvCopy的原型是:( cvCopyImage与之相似)
void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );
cvCloneImage的原型是:
IplImage* cvCloneImage( const IplImage* image );
这篇关于OpenCV基础-cvCloneImage、c…的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!