c 批量製作或者解壓MNIST資料集

2021-10-08 17:17:42 字數 2790 閱讀 7919

在深度學習入門過程中,一般以mnist資料集入手,因此經常需要將自己的資料集壓縮成mnist格式形式帶入源**中進行訓練,同時mnist資料集為二值化影象,如果自己的資料集為rgb三通道影象,應該怎麼壓縮資料集影象成為mnist格式,c++指令碼**如下:

1、標頭檔案

#pragma once

#ifndef image_to_binarydata_h_

#define image_to_binarydata_h_

#include

#include

#include

using

namespace std;

class

image2binarydata

~image2binarydata()

void

reverseint

(ofstream &file,

int i)

; vector

getfilelists

(string file_folder)

;//獲取資料夾下的名稱

string getfilename

(string &filename)

;//從檔案的絕對路徑當中得到檔名

void

readimage

(string filefolder, vector

&img_lists, vector<

int>

&img_labels, vector

&imagesmat)

;void

image2binaryfile

(string filefolder, vector

&imagesmat, vector<

int>

& img_labels)

;void

label2binaryfile

(string filefolder, vector<

int>

&img_labels);}

;#endif

// !image_to_binarydata_h_

2、將資料集影象壓縮成二進位制mnist資料集格式

#include

"image_to_binarydata.h"

#include

#include

#include

using

namespace cv;

//#define _crt_secure_no_warnings

//#pragma warning(disable:4996)

void image2binarydata::

reverseint

(ofstream &file,

int i)

vector image2binarydata::

getfilelists

(string file_folder)}}

return flist;

}string image2binarydata::

getfilename

(string & filename)

void image2binarydata::

readimage

(string filefolder, vector

& img_lists, vector<

int>

& img_labels, vector

&imagesmat)

printf

("\n讀取完畢!\n\n");

}void image2binarydata::

image2binaryfile

(string filefolder, vector

& imagesmat, vector<

int>

& img_labels)

}printf

("正在轉換,請稍等......%.2lf%%\r"

, i*

100.0

/(imagesmat.

size()

-1))

;}printf

("\n******轉換完成!******\n\n");

}else

cout << subname <<

"檔案建立失敗."

<< endl << endl;

if(file.

is_open()

) file.

close()

;return;}

void image2binarydata::

label2binaryfile

(string filefolder, vector<

int>

& img_labels)

printf

("\n******轉換完成!******\n");

}else

cout << subname <<

"檔案建立失敗."

<< endl;

if(file.

is_open()

) file.

close()

;return

;}

3、解壓mnist資料集影象

#include

"image_to_binarydata.h"

intmain()

C 製作CAB壓縮包壓縮解壓類

以下為引用的內容 using system using system.collections.generic using system.text using system.io using system.diagnostics namespace com.imyan.cabhelper set pr...

C 製作CAB壓縮包壓縮解壓類

以下為引用的內容 using system using system.collections.generic using system.text using system.io using system.diagnostics namespace com.imyan.cabhelper set pr...

C 製作CAB壓縮包壓縮解壓類

以下為引用的內容 using system using system.collections.generic using system.text using system.io using system.diagnostics namespace com.imyan.cabhelper set pr...