代码大概是这样的:
pCapture = cvCaptureFromCAM(-1);//从摄像头创建一个CvCapture对象
pFrame = cvQueryFrame( pCapture );//从PCapture中取得一帧
CvMat* pFrameMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC3);//定义一个指向CvMat对象的指针
cvConvert(pFrame, pFrameMat);//将PFrame转成CvMat。
如果你要取得pFrame的数据,可以直接用:pFrame->imageData,然后根据矩阵的形式来读写数据。
追问你好,我想输出矩阵的数据,要怎样写呢?谢谢
追答uchar* data=(uchar*)pframe->imageData;
for(int i=0;iheight;i++)
for(int j=0;jwidth;j++)
for(int k=0;knchannels;k++)
printf("%d", data[i*img->widthStep+j*img->nchannels+k]);
通过上面的代码就可以讲矩阵里的数据打印出来。