opencv从内存中读取图片可以大大减少读取文件所消耗的时间。

CvMat中的data数据只是矩阵数据的首地址,分配的内存大小为行列乘积。对该内存块的操作需要调用函数,也可以使用指针索引。

CvMat mCvmat = cvMat(w, h, CV_8UC1, Data);//参数分别为(图片宽度,高度,类型,data)
                                          //data数据只是矩阵数据的首地址,分配的内存大小为行列乘积
                                          //这个构造函数并没有从新分配内存

IplImage* IpImg = cvDecodeImage(&mCvmat, 1);

Mat image = cvarrToMat(IpImg);  //IplImage到Mat类型转换

if (!image.data)
{
    return false;
}
cvReleaseImage(&IpImg);          //cvDecodeImage产生的IplImage*对象***需要手动释放内存***

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-12
  • 2022-12-23
  • 2021-04-23
  • 2021-12-27
  • 2022-12-23
猜你喜欢
  • 2021-06-03
  • 2021-06-23
  • 2022-12-23
  • 2022-01-20
  • 2021-10-15
  • 2021-11-24
  • 2022-12-23
相关资源
相似解决方案