展开全部
代码大概是这样的:
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,然后根据矩阵的形式来读写数据。
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]);
通过上面的代码就可以讲矩阵里的数据打印出来。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询