OpenCv2 学习笔记(3) Mat、CvMat和IplImage的相互转化

在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

 
    
   
 
    
   
 
    
   
 
    
  

猜你喜欢

转载自blog.csdn.net/wanggao_1990/article/details/53150933