专栏首页Eureka伽罗的技术时光轴opencv 将内存中图片读入到mat矩阵

opencv 将内存中图片读入到mat矩阵

平常用的比较多的是 imread函数,直接将一个.jpg或者.bmp或者其他格式图片文件,读入到mat矩阵中。

本博文记录的是,如何将一段内存,或者文件流,读入到mat矩阵中。

有两个例子,相信看了之后,应该知道该怎么做了。

开发环境 opencv2413+vs2013

1、mat与文件流相互转换

Mat src = imread("1.jpg");
vector<uchar> buff;//buffer for coding 
vector<int> param = vector<int>(2);
param[0] = CV_IMWRITE_JPEG_QUALITY;
param[1] =95;//default(95) 0-100 
imencode(".jpg", src, buff, param);
cout << "coded file size(jpg)" << buff.size() << endl;//fit buff size automatically. 
Mat jpegimage = imdecode(Mat(buff), CV_LOAD_IMAGE_COLOR);

2、将图片文件读入到文件流,再解析成mat矩阵

std::ifstream file("1.jpg", std::ios::binary);
std::vector<char> data;
file >> std::noskipws;
std::copy(std::istream_iterator<char>(file), std::istream_iterator<char>(), std::back_inserter(data));
Mat jpegimage = imdecode(Mat(data), CV_LOAD_IMAGE_COLOR);
file.close();

据说,imread函数实际就是如此步骤。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mongodb分布式集群

    mongod --dbpath=d://path/mongodb_ds/mongodb_config --port 1234

    战神伽罗
  • UEFI 原理与编程 1 - UEFI开发环境EDK2搭建

    不同的厂商对UEFI有不同的实现, 一种比较常用的开源实现是EDK2. EDK2是一个遵循UEFI标准和PI标准的跨平台固件开发环境.

    战神伽罗
  • 0x000000fc (ATTEMPTED EXECUTE OF NOEXECUTE MEMORY)

    //断点相关 bp + 地址 设置断点 bl 显示已经设定的断点 bu + 地址 设置断点,但是这种类型断点再下一次启动时被记录 bc 清除断点 ...

    战神伽罗
  • 微信小程序|顶部导航标签栏

    当我们在一个小程序中想要查看某些信息,总是以页面顶部的一个导航栏展示出来,点击该导航栏上的各个标签则会出现对应页面内容。而如何实现顶部的标签导航,则需要我们引入...

    算法与编程之美
  • C# 获取.exe文件的运行目录

    WPF中获取.exe文件的运行路径:System.Windows.Forms.Application.StartupPath 引用:WindowsBase 、S...

    zls365
  • Spring5参考指南:AOP代理

    通常来说Spring AOP有两种代理方式,一种默认的JDK代理,只能代理接口,一种是CGLIB代理,可以代理具体的类对象。

    程序那些事
  • Android--MaterialDesign动画之揭露效果(Reveal effect)

    揭露效果也是5.0谷歌引入的一种效果,可以以一个水波纹扩散的形式显示控件,使用也很简单

    aruba
  • 语言模型GPT-2挤牙膏式开源,放出774M预训练模型,称是倒数第二版

    此前,OpenAI因为担心这个语言模型效果太好被滥用,一直藏着掖着开源,还被网友调侃为“ClosedAI。

    代码医生工作室
  • 孙正义太难了:去年亏125亿美元,15家投资公司要破产,二期愿景基金不得不暂停

    软银集团周一晚间发布了一组惊人的数据:预计截至3月底的2019财年,将出现70亿美元的净亏损,约125亿美元的运营亏损。

    量子位
  • RMAN异机恢复快速参考

    应用场景:服务器A为正常运行的生产环境,需要在服务器B上部署一套相同环境做测试。 数据库环境:RHEL6.4 + Oracle 11.2.0.4.7

    Alfred Zhao

扫码关注云+社区

领取腾讯云代金券