CvMat矩阵数据读取:
#include <QDebug>
#include "opencv.hpp"
int main(int argc, char *argv[])
{
float a[]={1,33,3,22,2};
//CvMat* mat = cvCreateMatHeader(2,2,CV_64FC1);
CvMat mat;
cvInitMatHeader(&mat,2,2,CV_32FC1,a);
//方法一
float b = CV_MAT_ELEM(mat,float,1,1);
qDebug()<<b;
//cvmSet(&mat,1,1,3.4);
//方法二
float c = cvmGet(&mat,1,1);
qDebug()<<c;
//方法三
int n = mat.step/sizeof(float);
float* p = mat.data.fl;
float d = p[1*n+1];
qDebug()<<d;
//方法四
const float* ptr = (const float*)(mat.data.ptr+1*mat.step);
float e = *(++ptr);
qDebug()<<e;
}
E:\cs\build-opencv_11-Desktop_Qt4_8_5-Debug\debug\opencv_11.exe 启动中…
22
22
22
22
E:\cs\build-opencv_11-Desktop_Qt4_8_5-Debug\debug\opencv_11.exe 退出,退出代码: 0