资源简介
模仿CIFAR数据集格式制作自己的数据集代码(修改版)

代码片段和文件信息
#include “BinaryDataSet.h“
#include
#include
using namespace cv;
using namespace std;
vector BinaryDataSet::getFileLists(string file_folder)
{
/*
param
file_folder: 文件夹路径
*/
file_folder += “/*.*“;
const char *mystr = file_folder.c_str();
vector flist;
string lineStr;
vector extendName; //设置文件扩展名
extendName.push_back(“JPG“);
extendName.push_back(“jpg“);
extendName.push_back(“bmp“);
extendName.push_back(“png“);
extendName.push_back(“tiff“);
HANDLE file;
WIN32_FIND_DATA fileData;
char line[1024];
wchar_t fn[1000];
mbstowcs(fn mystr 999);
file = FindFirstFile(fn &fileData);
FindNextFile(file &fileData);
while (FindNextFile(file &fileData))
{
wcstombs(line (const wchar_t*)fileData.cFileName 259);
lineStr = line;
// remove the files which are not images
for (int i = 0; i < 4; i++)
{
if (lineStr.find(extendName[i]) < 999)
{
flist.push_back(lineStr);
break;
}
}
}
return flist;
}
/*
从文件的绝对路径当中得到文件名
例如:“C:\\Users\\lyf\\Desktop\\test.bin“,返回“test.bin“
*/
string BinaryDataSet::getFileName(string & filename)
{
/*
param
filename: 文件的绝对路径
*/
int iBeginIndex = filename.find_last_of(“\\“) + 1;
int iEndIndex = filename.length();
return filename.substr(iBeginIndex iEndIndex - iBeginIndex);
cout << “Done!“ << endl;
}
void BinaryDataSet::convertMat2Bin(cv::Mat & image int label FILE *& fp)
{
/*
param
iamge: 图片向量(一维)
label: 标签
fp: 二进制文件指针
*/
cout << “标签: “ << label << endl;
fwrite(&label sizeof(char) 1 fp); //将标签写入文件
int pixeCount = image.rows* image.cols; //计算图片像素个数
char *pData = (char*)image.data;
/*以下开始将像素值写入文件*/
for (int i = 0; i < pixeCount; i++)
fwrite(&pData[i * 3] sizeof(char) 1 fp); //写入图片的R通道
for (int i = 0; i < pixeCount; i++)
fwrite(&pData[i * 3+1] sizeof(char) 1 fp); //写入图片的G通道
for (int i = 0; i < pixeCount; i++)
fwrite(&pData[i * 3+2] sizeof(char) 1 fp); //写入图片的B通道
}
/*读取图片并变形为一维向量*/
void BinaryDataSet::mat2Binary(string & image_file int label FILE *&fp)
{
/*
param
image_file: 文件的路径及名称
label: 标签
fp: 二进制文件指针
*/
Mat image = imread(image_file IMREAD_UNCHANGED); //读取图片内容并存入image中
if (!image.data)
cout << “Image“ << getFileName(image_file) << “ load failed!“ << endl;
else
{
if (image.channels() != 3) //通道转换,将不是彩色图像的转换为彩色图像
cv::cvtColor(image image CV_BGR2RGB);
Mat image_reshaped;
cv::resize(image image_reshaped cv::Size(_iWidth _iHeight) CV_INTER_LINEAR); //将图片转换为以为向量
convertMat2Bin(image_reshaped label fp); //将一维向量的图片写入二进制文件
}
}
void BinaryDataSet::images2Binaryfiles(string filefolder vector& img_List vector& img_Labels string filename)
{
/*
param
filefolder: 图片所在的文件夹路径
img_List: 文件名列表
img_Labels: 标签列表
filename: 二进制文件保存路径
*/
const int size_list = img_List.siz
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5350 2017-07-21 12:00 模仿CIFAR数据集格式制作自己的数据集代码\BinaryDataSet.cpp
文件 949 2017-07-20 21:54 模仿CIFAR数据集格式制作自己的数据集代码\BinaryDataSet.h
文件 823 2017-07-21 12:04 模仿CIFAR数据集格式制作自己的数据集代码\Main.cpp
文件 402 2017-07-21 12:17 模仿CIFAR数据集格式制作自己的数据集代码\readme.txt
目录 0 2017-07-21 12:07 模仿CIFAR数据集格式制作自己的数据集代码\
- 上一篇:Vue版 Web后台页面模板
- 下一篇:读取mnist数据集并保存成图片代码
相关资源
- cifar10图片版
- CIFAR-10图像资源
- cifar10_cnn 模型文件
- pyhon版本的cifar100数据集
- cifar-10-batches-py.zip
- 衣服种类图片分类pb模型和名字txt
- cifar10经典数据集
- CIFAR-10 图像数据
- cifar-100-binary
- CIFAR-10 图片格式数据集
- cifar10图片集
- cifar10vgg
- 用于knn分类的CIFAR-10数据集
- CIFAR-10 数据和Keras CNN程序 识别率89%左
- cifar-10-batches-py
- cifar10的训练好的tfrecord文件
- cifar-10数据集合jpg图片集合版本
- cifar10_文件夹分类
- TensorFlow1.2版本CIFAR10代码
- cifar10demo.zip
- 广工新技术专题-识别CIFAR数据集
- tensowflow官方文档 cifar10代码
- tensorflow训练CIFAR-10数据集源代码
- DogsVsCats、MNIST、cifar数据集
- TensorFlow基于CIFAR10数据集的卷积神经网
- cgan-master-cifar
评论
共有 条评论