1. 对序列进行洗牌 randperm()
randperm()产生随机的序列
%if filepaths 是一个5*1的结构体,then
cshuffle = randperm(length(filepaths)) %对filepaths进行随机的洗牌,得到了 cshuffle => [2,5,4,1,3] 洗牌后的序列
2. 图像灰度化 rgb2gray()
MyYuanLaiPic = imread('e:/image/matlab/Cluo.jpg');%读取RGB格式的图像
MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函数进行RGB到灰度图像的转换
[rows , cols , colors] = size(MyYuanLaiPic);%得到原来图像的矩阵的参数
MidGrayPic = zeros(rows , cols);%用得到的参数创建一个全零的矩阵,这个矩阵用来存储用下面的方法产生的灰度图像
MidGrayPic = uint8(MidGrayPic);%将创建的全零矩阵转化为uint8格式,因为用上面的语句创建之后图像是double型的
for i = :rows
for j = :cols
sum = ;
for k = :colors
sum = sum + MyYuanLaiPic(i , j , k) / ;%进行转化的关键公式,sum每次都因为后面的数字而不能超过255
end
MidGrayPic(i , j) = sum;
end
end
imwrite(MidGrayPic , 'E:/image/matlab/Cluo.png' , 'png');
%显示原来的RGB图像
figure();
imshow(MyYuanLaiPic);
%显示经过系统函数运算过的灰度图像
figure();
imshow(MyFirstGrayPic);
%显示转化之后的灰度图像
figure();
imshow(MidGrayPic);
3. 对图像进行旋转和翻转
function I = data_augmentation(I, K)
if K ==
return;
elseif K == % flipped
I = flipud(I);
return;
elseif K == % rotation
I = rot90(I,);
return;
elseif K == % rotation & flipped
I = rot90(I,);
I = flipud(I);
return;
elseif K == % rotation
I = rot90(I,);
return;
elseif K == % rotation & flipped
I = rot90(I,);
I = flipud(I);
return;
elseif K == % rotation
I = rot90(I,);
return;
elseif