Convierta imágenes por lotes y guárdelas como archivos mat

Matlab convierte imágenes por lotes en estructuras de estructuras y las guarda como archivos mat para el entrenamiento de redes neuronales.

Mira directamente el código:

%load('../mask/mask_20.mat')  %导入相关路径
folder_path = 'BSDS300\images\train\' %图片所在文件夹位置,末尾'\'别丢了。

file_list = dir([folder_path '*.jpg']);  %根据图片类型(jpg/png)修改
for i = 1:length(file_list) 
    % 读取图片 
    img = imread([folder_path file_list(i).name]);
    
    %------图片处理操作,根据需要相应增改---------------
    img = imresize(img,[256,256]);  %裁剪成指定大小(256)  
    %img = rgb2gray(img);            %彩色图转换成灰度图
    %img= double(img);               %更改成double类型
    %-------------------------------------------------
	
	
    train = (double(fft2(img)));  %训练样本处理。(这里对图片做傅里叶变换,作为训练集)
    label = double(img)/255;      %标签。(这里将原始图片作为标签)
    
    data = struct('train', train, 'label', label);  %将训练样本和标签放到名为【data】的结构体中。
    save([strcat(num2str(i),'.mat')], 'data');      %保存为mat文件放入当前文件夹。
   
end

efecto final:
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

A veces es necesario darse cuenta de que los datos contienen un campo de datos y luego almacenar el tren y la etiqueta en el campo de datos, puede usar el párrafo anterior:

data = struct('train', train, 'label', label);

Simplemente reemplácelo con lo siguiente.

data.data = struct('label', label,'train', train );

Supongo que te gusta

Origin blog.csdn.net/m0_46366547/article/details/129786168
Recomendado
Clasificación