Nothing to say but code!
//直接从内存中读取一张图片的buf
//前提是该buf存的图片是RGB(BGR)空间的
cv::Mat mat(nHeight,nWidth,CV_8UC3,(uchar*)pBuf);
cv::imshow("hello",mat);
再看YUV空间,以YV12为例
//先定义目标对象,定义高、宽以及8位3通道
cv::Mat dst(nHeight,nWidth,CV_8UC3);
//YV12,YUV空间buf直接读取到Mat中,定义一个通道
cv::Mat src(nHeight + nHeight/2,nWidth,CV_8UC1,(uchar*)pBuf);
//从YV12转换到BGR空间
cv::cvtColor(src,dst,CV_YUV2BGR_YV12);
//可以输出查看一下,在回调函数中慎用imshow,可能会show不出来
cv::imshow("bgr",dst);