我打算通过hdf5提供测试并将图像训练到caffe。但在此之前需要进行一些预处理,下面是我的hdf5转换代码。我的图片已经是256 * 256。
% ------------------------------------------------------------------------
function X = hdf5_preparation(file,numberOfImages)
% ------------------------------------------------------------------------
file_list = fopen(file);
X=zeros(227,227,3,numberOfImages);
d = load('ilsvrc_2012_mean');
IMAGE_MEAN = d.image_mean;
IMAGE_DIM = 256;
CROPPED_DIM = 227;
for i=1:numberOfImages
image = fgetl(file_list);
im = imread(image);
im = single(im);
im = im(:,:,[3 2 1]) - IMAGE_MEAN;
center = 15;
im = im(center:center+CROPPED_DIM-1,center:center+CROPPED_DIM-1,:)
im = permute(im, [2 1 3]);
X(:,:,:,i)=im;
end
然后,
hdf5write('my_data.h5', '/X',X);
我不确定这种方法的正确性。请帮忙! (此外,我不会在这里进行过采样,因为我不知道如何在hdf5中处理它。)