博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
提取Mnist数据集图片
阅读量:4620 次
发布时间:2019-06-09

本文共 2007 字,大约阅读时间需要 6 分钟。

  • 这里有已经提取好的图片:
  • 主要依赖于opencv
  • 代码
#include
#include
#include
#include
#include
using namespace std;#define PRINT(x) cout<<#x<<": "<< x << endlinline int to_int (const void*data){ unsigned char* ptr = (unsigned char*) data; int result = 0; for (int i = 3; i >= 0; i--) { result += ptr[i] * pow (256, 3 - i); } return result;}int main(){ const string mnist_data_path (R"(F:\libs\caffe\data\mnist\t10k-images-idx3-ubyte)"); const string mnist_label_path (R"(F:\libs\caffe\data\mnist\t10k-labels-idx1-ubyte)"); const string dst_img_dir (R"(F:\libs\caffe\data\mnist\test_10000)"); FILE * f_data_handle = fopen (mnist_data_path.c_str(), "rb"); FILE * f_label_handle = fopen (mnist_label_path.c_str(), "rb"); fseek (f_label_handle, 8, SEEK_SET); char buff[4]; fread ( (void*) &buff, 4, 1, f_data_handle); int magic_num = to_int (buff); PRINT (magic_num); fread ( (void*) &buff, 4, 1, f_data_handle); int num_imgs = to_int (buff); PRINT (num_imgs); fread ( (void*) &buff, 4, 1, f_data_handle); int num_rows = to_int (buff); PRINT (num_rows); fread ( (void*) &buff, 4, 1, f_data_handle); int num_cols = to_int (buff); PRINT (num_cols); cv::Mat img_buf (num_rows, num_cols, CV_8U, cv::Scalar (0)); assert (img_buf.isContinuous()); unsigned char* pixel_ptr = img_buf.ptr
(0); int count_all = -1; map
count_one; for (int i = 0; i < num_imgs; i++) { if (i % 5000 == 0) { cout << i << endl; } unsigned char label = fgetc (f_label_handle); count_all++; count_one[label]++; for (int j = 0; j < num_rows * num_cols; j++) { pixel_ptr[j] = fgetc (f_data_handle); } cv::imwrite (dst_img_dir + "\\" + (to_string (label) + "_" + to_string (count_one[label]) + "_" + to_string (count_all) + ".jpg"), img_buf); } count_all++; PRINT (count_all);#ifdef _MSC_VER system ("pause");#endif // _MSC_V}

转载于:https://www.cnblogs.com/jiahu-Blog/p/7883097.html

你可能感兴趣的文章
[LevelDB] LevelDB理论基础
查看>>
如果部署Excel 加载项?
查看>>
【codecombat】 试玩全攻略 第一关kithguard地牢
查看>>
【DP】 POJ 1191 棋盘分割 记忆化搜索
查看>>
自动化测试 Appium之Python运行环境搭建 Part2
查看>>
说说DBA职责和目标
查看>>
从头认识Spring-2.4 基于java的标准注解装配-@Inject-限定器@Named
查看>>
sql server 实现多表连接查询
查看>>
Python标准库:内置函数getattr(object, name[, default])
查看>>
转:android 自定义RadioButton样式
查看>>
HTTP请求过程
查看>>
织梦多域名解析到同一个空间导致打开链接不一致怎么办?
查看>>
Xcode10 library not found for -lstdc++ 找不到问题
查看>>
Mysql 8.0.13如何重置密码
查看>>
发布功能完成
查看>>
excel 合并单元格
查看>>
iOS设计模式简介
查看>>
c# 扩展方法 奇思妙用 高级篇 九:OrderBy(string propertyName, bool desc)
查看>>
C语言中的地址传递(传指针,传递给形参的指针仍然是实参指针的一份拷贝)
查看>>
redis缓存数据库及Python操作redis
查看>>