矩阵cvMat
来源:互联网 发布:放大镜 知乎 编辑:程序博客网 时间:2024/06/08 04:04
一、CvMat结构体
typedef struct CvMat{ int type; int step; int* refcount; int hdr_refcount; union { uchar* ptr; short* s; int* i; float* fl; double* db; } data; union { int rows; int height; }; union { int cols; int width; };} CvMat;
二、矩阵的创建和释放
CvMat* cvCreateMat(int rows,int cols,int type);CvMat* cvCreateMatHeader(int rows,int cols,int type);CvMat* cvInitMatHeader(int rows,int cols,int type,void* data = NULL,int step = CV_AUTOSTEP);CvMat* cvMat(int rows,int cols,int type,void* data = NULL)CvMat* cvCloneMat(const cvMat* mat);cvReleaseMat(CvMat** mat);
三、矩阵数据的存取
1·简单的方法 利用CV_MAT_ELEM()或CV_MAT_ELEM_PTR()宏 例:CV_MAT_ELEM() CvMat* mat = cvCreateMat(5,5,CV_32FC1); float element_3_2 = CV_MAT_ELEM( *mat,float,3,2); 例:CV_MAT_ELEM_PTR() CvMat* mat = cvCreateMat(5,5,CV_32FC1); float element_3_2 = 7.7; *(float*)CV_MAT_ELEM_PTR(*mat,3,2) = element_3_2;2·麻烦的方法 指针访问矩阵结构cvPtr*D家族和cvGet*D、cvSet*D家族;uchar* cvPtr1D(const CvArr* arr,int idx0,int* type = NULL);uchar* cvPtr2D(const CvArr* arr,int idx0,int idx1,int* type = NULL);uchar* cvPtr3D(const CvArr* arr,int idx0,int idx1,int idx2,int* type = NULL);uchar* cvPtrND(const CvArr* arr,int* idx,int* type = NULL,int create_node = 1,unsigned* precalc_hashval = NULL);double cvGetReal1D(const CvArr* arr,int idx0);double cvGetReal2D const CvArr* arr,int idx0,int idx1);double cvGetReal3D(const CvArr* arr,int idx0,int idx1,int idx2);double cvGetRealND(const CvArr* arr,int* idx);CvScalar cvGet1D(const CvArr* arr,int idx0);CvScalar cvGet2D(const CvArr* arr,int idx0,int idx1 );CvScalar cvGet3D(const CvArr* arr,int idx0,int idx1,int idx2 );CvScalar cvGetND(const CvArr* arr,int* idx); double cvSetReal1D(const CvArr* arr,int idx0); double cvSetReal2D const CvArr* arr,int idx0,int idx1); double cvSetReal3D(const CvArr* arr,int idx0,int idx1,int idx2);double cvSetRealND(const CvArr* arr,int* idx);CvScalar cvSet1D(const CvArr* arr,int idx0);CvScalar cvSet2D(const CvArr* arr,int idx0,int idx1 );CvScalar cvSet3D(const CvArr* arr,int idx0,int idx1,int idx2 );CvScalar cvSetND(const CvArr* arr,int* idx);
阅读全文
0 0
- 矩阵cvMat
- OpenCV 矩阵操作 CvMat
- opencv CvMat矩阵学习
- opencv CvMat矩阵学习
- opencv CvMat矩阵学习
- CvMat矩阵结构
- opencv CvMat矩阵学习
- opencv CvMat矩阵学习
- CvMat矩阵数据结构
- 【OpenCV】矩阵CvMat
- opencv CvMat矩阵结构
- 【opencv】CvMat矩阵结构
- opencv:矩阵CvMat
- OpenCv中CvMat矩阵操作
- OpenCV 矩阵操作 CvMat(一)
- OpenCV 矩阵操作 CvMat(二)
- OpenCV矩阵结构CvMat初探
- OpenCV矩阵结构CvMat初探
- 简单的数据结构
- JAVA基础知识
- 比真机还快的Genymotion模拟器
- JDBC连接数据库
- Spring源码学习(一):IOC容器初始化
- 矩阵cvMat
- PAT a1048题解
- 安卓性能优化之布局优化(一)
- Matlab绘制三维曲线(plot3)和三维图形(mesh & surf)
- [leetcode]30. Substring with Concatenation of All Words@Java
- Python基础——read(),readline(),readlines()的区别
- 16. 3Sum Closest
- 电脑无线网络固定IP设置方法
- PAT a1049题解