图像保存为二进制文件及二进制文件读出图像数据
- 前言:很多时候为了验证不同平台下编解码方式不同对深度模型推理的干扰,这时需要使用加载2进制数据的方式在不同平台上对齐数据,这是用到了图像转二进制和加载二进制数据为图像数据。下面直接上代码:
- 图像保存二进制数据
[先在循环外定义static int save_count]
save_count++;std::string ssave_cnt = std::to_string(save_count);std::string file_name = ssave_cnt+".bin";//保存rgba数据--------------------------FILE *fpw = fopen(file_name.c_str(), "wb");if ( fpw == NULL ){std::cout << "Open error!" << std::endl;fclose(fpw);return;}if ( !img_rgba.data || img_rgba.channels() != 4 ){std::cout << "Image read failed or image channels isn‘t equal to 3."<< std::endl;return;}int labelw = 1;int rows = img_rgba.rows;int cols = img_rgba.cols;fwrite( &labelw, sizeof(char), 1, fpw );char* dp = (char*)img_rgba.data;for ( int i=0; i<rows*cols; i++ ){fwrite( &dp[i*4], sizeof(char), 1, fpw );fwrite( &dp[i*4+1], sizeof(char), 1, fpw );fwrite( &dp[i*4+2], sizeof(char), 1, fpw );fwrite( &dp[i*4+3], sizeof(char), 1, fpw );}fclose(fpw);
- 对应地从二进制数据中解析出图像
save_count++;std::string ssave_cnt = std::to_string(save_count);std::string file_name = "/Users/gd-npc-701/Desktop/bin_files/"+ssave_cnt+".bin";int rows = 1920;int cols = 1080;FILE *fpr = fopen( file_name.c_str(), "rb" );if ( fpr == NULL ){std::cout << "Open error!" << std::endl;fclose(fpr);return;}int labelr(0);fread( &labelr, sizeof(char), 1, fpr );std::cout << "label: " << labelr << std::endl;cv::Mat img_rgba_from_bin( rows, cols, CV_8UC4, cv::Scalar::all(0) );unsigned char* pData = (unsigned char*)img_rgba_from_bin.data;for ( int i=0; i<rows*cols; i++ ){fread( &pData[i*4], sizeof(char), 1, fpr );fread( &pData[i*4+1], sizeof(char), 1, fpr );fread( &pData[i*4+2], sizeof(char), 1, fpr );fread( &pData[i*4+3], sizeof(char), 1, fpr );}fclose(fpr);
图像保存为二进制文件及二进制文件读出图像数据相关推荐
- opencv入门基础——图像读取,图像显示,图像保存
一,图像读取 如上图所示,从文件中导入图像用这个函数 retval=cv.imread(文件名,[,显示控制参数]) 显示控制参数,主要是这几个: cv.IMREAD_UNCHANGED cv.IMR ...
- R语言ggplot2可视化指定保存到pdf的图像的具体尺寸、保证缩放的一致性:使得绘图元素(文本、点大小等)在设计上都具有相同的绝对大小、设置全局数据点大小、主题格式、设置图像保存的具体尺寸
R语言ggplot2可视化指定保存到pdf的图像的具体尺寸.保证缩放的一致性:使得绘图元素(文本.点大小等)在设计上都具有相同的绝对大小.设置全局数据点大小.主题格式.设置图像保存的具体尺寸 目录
- matplotlib生成指定大小的空白的白色图(故意保存)实战:当然也可以保存正常的有内容的图像
matplotlib生成指定大小的空白的白色图(故意保存)实战:当然也可以保存正常的有内容的图像 目录
- python保存图片到指定路径_python将处理好的图像保存到指定目录下的方法
原始图像绝对路径的图像名存储在一个txt文件中,下面的程序实现的功能是按照txt文件的顺序,依次将图片读取然后进行处理,最后将处理之后的图像保存在指定的路径下: # Read in the image ...
- 【Matlab 控制】模仿绘制动态图像 保存动态图 GIF
模仿绘制动态图像 模仿绘制动态图像 保存为动态图 GIF 视频转 GIF 模仿绘制动态图像 clc;clear a=[1 2 3 4 5 6 7 8 9 ]; b=[2 4 8 16 30 40 50 ...
- Graphviz:利用可视化工具Graphviz将dot数据进行图像可视化或者图像保存(两大方法)之详细攻略
Graphviz:利用可视化工具Graphviz将dot数据进行图像可视化或者图像保存(两大方法)之详细攻略 目录 graph_feature函数:为给定的特征生成特征谱系图
- python opencv 从Intel Realsense D435 视频流中读取并显示帧,按下空格将图像保存到指定文件夹,按下回车自动以一定时间间隔保存图像至指定文件夹
参考文章1:opencv之读入一幅图像,显示图像以及如何保存一副图像,基础操作 参考文章2:python-OpenCV2中 cv2.VideoCapture(),read(),waitKey()的使用 ...
- canvas图像保存
很多时候绘制完成的图片需要保存,那么我们就可以使用到Canvas API来完成这最后一步! Canvas API使用toDataURL方法把绘画的状态输出到一个data URL中然后重新装载,然后我们 ...
- php中在网页中显示图片代码,用PHP将网页上的Canvas图像保存到服务器上的方法
在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审结束时用笔在平板电脑上进行电子签名.这需要我们评审软件里提供这样一个功能:打开浏览器,登录,进入评审意 ...
最新文章
- python元组和列表都支持的方法是_python_列表和元组
- Asp.Net Core SignalR 与微信小程序交互笔记
- 基于协同过滤,NMF和Baseline的推荐算法
- android http 本地 web服务(tomcat)
- 《深入浅出WPF》——模板学习
- 服务器带宽上行与下行是什么意思,有什么区别
- m4a转mp3方法,m4a转mp3步骤
- 微信之父张小龙最新公开课曝光8个互联网新思维:下一个十年将非常有想象力...
- 微信小程序苹果机型底部兼容
- 【计组】设计大型DMP系统--《深入浅出计算机组成原理》(十四)
- social network社交网络资料汇总
- 《Python机器学习算法》的写作历程
- DJ6-4 文件存储空间的管理
- 在新建maven时候遇到错误: No archetype found in remote catalog. Defaulting to internal catalo
- 西北工业大学计算机专业课考什么,2020西北工业大学计算机考研初试科目、参考书目、招生人数...
- MS17-010漏洞利用工具系统入侵(实测)
- 【Linux】在Xilinx平台上实现UVC Gadget(1)
- sizebox模型下载_包装盒样机PSD模型合集 Box Packaging MockUp Creator 1
- (二)Java解析XML:一个简单的解析XML文件的例子
- SAP ABAP SD 销售和分销相关数据库表结构关系