开发中遇到的问题,为了让别人方便也让自己方便,特此记录。
有时候我们会需要读取内存里面的图片,为了提高效率,避免了从硬盘重复读取文件所消耗的时间。
以下是代码:
//data为图像再内存中的地址
CvMat mat = cvMat(width, height, CV_8UC1, data);//Read input binary image
//第二个参数为flag,在opencv文档中查询
IplImage *pIplImage = cvDecodeImage(&mat, 1);
//记住第二个参数为copy=true,否则释放后内存会出错
Mat image(pIplImage,true);
//cvDecodeImage产生的IplImage*对象***需要手动释放内存***
cvReleaseImage(&pIplImage);