在深度學習入門過程中,一般以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...