我需要使用cvShowImage
以jpeg格式显示视频电影。我使用以下方法将每个帧读入字节缓冲区:
CVD :: BasicImage FrameBytes = imageFromFile(Filename);
接下来,我想使用以下方式显示框架:
cvShowImage(WinName,帧);
但是,cvShowImage接受IplImage
或cvMat
格式的帧。如何将原始字节发送到cvShowImage?
答案 0 :(得分:0)
如果您有原始缓冲区以及图像大小(宽度,高度),那么您可以使用以下内容来获取IplImage。
IplImage *m_img_show;
uchar *m_pBuffer;
CvSize cv_img_size = cvSize(m_width, m_height);
m_img_show = cvCreateImageHeader(cv_img_size, IPL_DEPTH_8U,3);
cvSetData(m_img_show, m_pBuffer,m_width*3);
m_width和m_height是帧的宽度和高度。 m_pBuffer是原始图像数据。