OpenCV学习之CvMat的用法详解及实例

OpenCV学习之CvMat的用法详解及实例

ID:37570057

大小:150.92 KB

页数:10页

时间:2019-05-25

OpenCV学习之CvMat的用法详解及实例_第1页
OpenCV学习之CvMat的用法详解及实例_第2页
OpenCV学习之CvMat的用法详解及实例_第3页
OpenCV学习之CvMat的用法详解及实例_第4页
OpenCV学习之CvMat的用法详解及实例_第5页
资源描述:

《OpenCV学习之CvMat的用法详解及实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、OpenCV学习之CvMat的用法详解及实例目录1.初始化矩阵:...................................22.IplImage到cvMat的转换.........................23.cvArr(IplImage或者cvMat)转化为cvMat...........24.图像直接操作...................................35.cvMat的直接操作................................36.间接访问cvMat..................................57.修改矩阵的

2、形状——cvReshape的操作..............68.计算色彩距离...................................8CvMat是OpenCV比较基础的函数。初学者应该掌握并熟练应用。但是我认为计算机专业学习的方法是,不断的总结并且提炼,同时还要做大量的实践,如编码,才能记忆深刻,体会深刻,从而引导自己想更高层次迈进。1.初始化矩阵:方式一、逐点赋值式:CvMat*mat=cvCreateMat(2,2,CV_64FC1);cvZero(mat);cvmSet(mat,0,0,1);cvmSet(mat,0,1,2);cvmSet(mat,1,0,3);cvm

3、Set(mat,2,2,4);cvReleaseMat(&mat);方式二、连接现有数组式:doublea[]={1,2,3,4,5,6,7,8,9,10,11,12};CvMatmat=cvMat(3,4,CV_64FC1,a);//64FC1fordouble//不需要cvReleaseMat,因为数据内存分配是由double定义的数组进行的。2.IplImage到cvMat的转换方式一、cvGetMat方式:CvMatmathdr,*mat=cvGetMat(img,&mathdr);方式二、cvConvert方式:CvMat*mat=cvCreateMat(img->height,i

4、mg->width,CV_64FC3);cvConvert(img,mat);//#definecvConvert(src,dst)cvConvertScale((src),(dst),1,0)3.cvArr(IplImage或者cvMat)转化为cvMat方式一、cvGetMat方式:intcoi=0;cvMat*mat=(CvMat*)arr;if(!CV_IS_MAT(mat)){mat=cvGetMat(mat,&matstub,&coi);if(coi!=0)reutn;//CV_ERROR_FROM_CODE(CV_BadCOI);}写成函数为://Thisisjustanexa

5、mpleoffunction//tosupportbothIplImageandcvMatasaninputCVAPI(void)cvIamArr(constCvArr*arr){CV_FUNCNAME("cvIamArr");__BEGIN__;CV_ASSERT(mat==NULL);CvMatmatstub,*mat=(CvMat*)arr;intcoi=0;if(!CV_IS_MAT(mat)){CV_CALL(mat=cvGetMat(mat,&matstub,&coi));if(coi!=0)CV_ERROR_FROM_CODE(CV_BadCOI);}//Processascv

6、Mat__END__;}4.图像直接操作方式一:直接数组操作intcol,row,z;ucharb,g,r;for(y=0;rowheight;y++){for(col=0;colwidth;col++){b=img->imageData[img->widthStep*row+col*3]g=img->imageData[img->widthStep*row+col*3+1];r=img->imageData[img->widthStep*row+col*3+2];}}方式二:宏操作:introw,col;ucharb,g,r;for(row=0;rowh

7、eight;row++){for(col=0;colwidth;col++){b=CV_IMAGE_ELEM(img,uchar,row,col*3);g=CV_IMAGE_ELEM(img,uchar,row,col*3+1);r=CV_IMAGE_ELEM(img,uchar,row,col*3+2);}}注:CV_IMAGE_ELEM(img,uchar,row,col*img->nChan

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

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

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