admin 管理员组

文章数量: 1184232


2024年4月16日发(作者:gradle文件怎么打开)

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

目 录

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

1.初始化矩阵: ....................................................................................................................... 1

ge 到cvMat的转换 ................................................................................................... 2

(IplImage或者cvMat)转化为cvMat ........................................................................... 3

4.图像直接操作 ....................................................................................................................... 5

的直接操作 ................................................................................................................ 7

6.间接访问cvMat .................................................................................................................. 11

7.修改矩阵的形状——cvReshape的操作 ............................................................................ 14

8.计算色彩距离 ..................................................................................................................... 22

CvMat是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 );

cvmSet( mat, 2, 2, 4 );

cvReleaseMat( &mat );

方式二、连接现有数组式:

double a[] = { 1, 2, 3, 4,

5, 6, 7, 8,

9, 10, 11, 12 };

CvMat mat = cvMat( 3, 4, CV_64FC1, a ); // 64FC1 for double

// 不需要cvReleaseMat,因为数据内存分配是由double定义的数组进行的。

ge 到cvMat的转换

方式一、cvGetMat方式:

CvMat mathdr, *mat = cvGetMat( img, &mathdr );

方式二、cvConvert方式:


本文标签: 方式 用法 文件 编码