在opencv2.4.9有一些函数仍然是没有C++接口,因此在opencv2中有时需要用到CvMat或者IplImage,那么这些数据结构之间怎么彼此进行转换是需要考虑的一个问题。我们可以从需要的一种数据结构中读取并赋值到新的数据结构中去,这是一种深复制。通常我们需要的的是数据本身,而不是需要对数据进行更改,因此选择opencv自带的函数是比较合适的,因为大多数的函数都是浅复制。
1、Mat –> IplImage
2、Mat –> CvMat
3、IplImage –> Mat
Mat mt2 = cvarrToMat(img,flase); //第二个参数默认为flase,不复制数据,浅复制;true时深复制
4、IplImage –> CvMat
5、CvMat –> IplImage
6、CvMat –> Mat