cvarr、mat、cvmat、iplimage、byte转换(总结而来)

cvarr、mat、cvmat、iplimage、byte转换(总结而来)

ID:17602679

大小:15.92 KB

页数:3页

时间:2018-09-03

cvarr、mat、cvmat、iplimage、byte转换(总结而来)_第1页
cvarr、mat、cvmat、iplimage、byte转换(总结而来)_第2页
cvarr、mat、cvmat、iplimage、byte转换(总结而来)_第3页
资源描述:

《cvarr、mat、cvmat、iplimage、byte转换(总结而来)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一、Mat类型:矩阵类型,Matrix。    在openCV中,Mat是一个多维的密集数据数组。可以用来处理向量和矩阵、图像、直方图等等常见的多维数据。    Mat有3个重要的方法:         1、Mat mat = imread(const String* filename);            读取图像         2、imshow(const string frameName, InputArray mat);      显示图像         3、imwrite (const string& filename, InputA

2、rray img);    储存图像    Mat类型较CvMat与IplImage类型来说,有更强的矩阵运算能力,支持常见的矩阵运算。在计算密集型的应用当中,将CvMat与IplImage类型转化为Mat类型将大大减少计算时间花费。A.Mat -> IplImage同样只是创建图像头,而没有复制数据。例: // 假设Mat类型的imgMat图像数据存在IplImage pImg= IplImage(imgMat); B.Mat -> CvMat与IplImage的转换类似,不复制数据,只创建矩阵头。例:// 假设Mat类型的imgMat图像数据存在 

3、   CvMat cvMat = imgMat; 二、CvMat类型与IplImage类型:“图像”类型       在openCV中,Mat类型与CvMat和IplImage类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,openCV对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。补充:IplImage由CvMat派生,而CvMat由CvArr派生即CvArr -> CvMat -> IplImage           

4、CvArr用作函数的参数,无论传入的是CvMat或IplImage,内部都是按CvMat处理。1.CvMatA.CvMat-> IplImageIplImage* img = cvCreateImage(cvGetSize(mat),8,1);cvGetImage(matI,img);cvSaveImage("rice1.bmp",img);B.CvMat->Mat与IplImage的转换类似,可以选择是否复制数据。Mat::Mat(const CvMat* m, bool copyData=false);otherstaffoftheCentre.D

5、uringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterp

6、risesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersand在openCV中,没有向量(vector)的数据结构。任何时候,但我们要表示向量时,用矩阵数据表示即可。但是,CvMat类型与我们在线性代数课程上学的向量概念相比,更抽象,比如CvMat的元素数据类型并不仅限于基础数据类型,比如,下面创建一个二维数据矩阵:           

7、   CvMat* cvCreatMat(int rows ,int cols , int type);这里的type可以是任意的预定义数据类型,比如RGB或者别的多通道数据。这样我们便可以在一个CvMat矩阵上表示丰富多彩的图像了。 2.IplImage在类型关系上,我们可以说IplImage类型继承自CvMat类型,当然还包括其他的变量将之解析成图像数据。IplImage类型较之CvMat多了很多参数,比如depth和nChannels。在普通的矩阵类型当中,通常深度和通道数被同时表示,如用32位表示RGB+Alpha.但是,在图像处理中,我们往往

8、将深度与通道数分开处理,这样做是OpenCV对图像表示的一种优化方案。IplImage的对图像

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。