cvcloneimage和cvcopyimage的区别
2011-04-06 09:29
555 查看
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 );
资料来源:http://blog.sina.com.cn/s/blog_676b40ec0100muna.html
cvCloneImage直接克隆录像,包括图像的ROI信息。
而cvCopyImage复制图像,复制图像的ROI部分。
单步跟踪一下就知道区别了。
copy的图像大小必须和所设定的ROI大小一致,而clone的图像的大小必须与原图像一致。
资料来源:
http://www.opencv.org.cn/forum/viewtopic.php?t=3529
想要传IplImage类型指针时 只能用cvcopy和cvcopyimage,否则地址无效。
cvCopy的原型是:(cvCopyImage与之相似)
void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );
cvCloneImage的原型是:
IplImage* cvCloneImage( const IplImage* image );
资料来源:http://blog.sina.com.cn/s/blog_676b40ec0100muna.html
cvCloneImage直接克隆录像,包括图像的ROI信息。
而cvCopyImage复制图像,复制图像的ROI部分。
单步跟踪一下就知道区别了。
copy的图像大小必须和所设定的ROI大小一致,而clone的图像的大小必须与原图像一致。
资料来源:
http://www.opencv.org.cn/forum/viewtopic.php?t=3529
相关文章推荐
- cvCopy与cvCloneImage、cvCopyimage的区别
- cvCopy与cvCloneImage、cvCopyimage的区别
- cvCopy与cvCloneImage、cvCopyimage的区别
- cvCopy与cvCloneImage、cvCopyimage的区别
- cvCopy与cvCopyimage的区别
- cvCopy和cvCloneImage的区别
- cvCopy与cvCloneImage的区别
- OpenCV(12)安防监控可疑走动报警 cvCopy()和cvCloneImage()的区别
- OPencv中的cvCloneImage、cvCopyImage和cvCloneMat、cvCopyMat的误区
- cvCopy与cvCloneImage的区别
- cvCopy与cvCloneImage的区别
- OpenCV图像识别、移动侦测、边缘检测实现及 cvCopy()和cvCloneImage()的区别
- cvCopy与cvCloneImage的区别
- Opencv中cvCopy()和cvCloneImage()的区别
- cvCopy()和cvCloneImage()的区别
- cvCopy与cvCopyimage的区别
- cvCopy与cvCloneImage的区别
- cvCopy与cvCloneImage的区别
- cvCloneImage()内存泄漏解决方法, cvCloneImage()和cvCopy()的区别
- 图像处理-cvCopy与cvCloneImage的区别