浮点型图像本地读写

本文探讨了使用OpenCV的FileStorage类进行大型Mat读写时的效率问题,提出通过将浮点型Mat转换为整型Mat,然后利用本地图像读写来提高速度。以3840×2320图像为例,实验结果显示,转换后的读写时间降低到原本的约4.6%,显著提升了效率。
摘要由CSDN通过智能技术生成

OpenCV提供了FileStorage类供本地读写数据,其中包括Mat的读写,但是当Mat较大时,读写耗时较大,使用体验较差,代码如下:

  Mat img = imread(argv[1], 0);
  img.convertTo(img, CV_32F);
  blur(img, img, Size(15, 15));

  double t1 = getTickCount();
  FileStorage fs("./test.xml", FileStorage::WRITE);
  fs << "img" << img;
  fs.release();
  double t2 = getTickCount();
  cout << "write xml: " << 1000*(t2-t1)/getTickFrequency() << " ms" << endl;

  double t3 = getTickCount();
  FileStorage fs2("./test.xml", FileStorage::READ);
  Mat t; fs["img"] >> t;
  fs2.release();
  double t4 = getTickCount();
  cout << "read xml: " << 1000*(t4-t3)/getTickFrequency() << " ms" << endl;
  cout << "    Total xml: " << 100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值