直奔主题,需要保存处理图像的文件名(string)数组。本文只用作自己的实验记录,侵删。
搬运自matlab官网的代码:https://www.mathworks.com/matlabcentral/fileexchange/7601-cell2csv?s_tid=mwa_osa_a
以下为MATLAB cell array to csv的函数实现:
function cell2csv(filename,cellArray,delimiter)
% Writes cell array content into a *.csv file.
%
% CELL2CSV(filename,cellArray,delimiter)
%
% filename = Name of the file to save. [ i.e. 'text.csv' ]
% cellarray = Name of the Cell Array where the data is in
% delimiter = seperating sign, normally:',' (it's default)
%
% by Sylvain Fiedler, KA, 2004
% modified by Rob Kohr, Rutgers, 2005 - changed to english and fixed delimiter
if nargin<3
delimiter = ',';
end
datei = fopen(filename,'w');
for z=1:size(cellArray,1)
for s=1:size(cellArray,2)
var = eval(['cellArray{z,s}']);
if size(var,1) == 0
var = '';
end
if isnumeric(var) == 1
var = num2str(var);
end
fprintf(datei,var);
if s ~= size(cellArray,2)
fprintf(datei,[delimiter]);
end
end
fprintf(datei,'\n');
end
fclose(datei);
我的调用代码实例:
clc;
clear all;
path = 'E:\DZY\CASIA\train\2\';
fileFolder = fullfile(path);
dirOutput = dir(fullfile(fileFolder,'*.jpg'));
fileNames = {dirOutput.name};
list = string(fileNames);
n = length(fileNames);
Train_images = [];
% 创建字符串数组
Train_names = strings;
for i = 1:n
% 拼接图片的路径
pic_path = strcat(path, list(i));
pic_path = char(pic_path);
% fk1是自己写的特征提取代码,返回一个1*256的特征向量
lpq_gray = fk1(pic_path);
% 组成样本集
Train_images(i,:) = lpq_gray;
Train_names(i,:) = list(i);
disp('processing :' + string(pic_path));
end
% 存储文件名
save_path_data = 'E:\DZY\CASIA\ycbcr\Test0.csv';
save_path_name = 'E:\DZY\CASIA\ycbcr\Test0_name.csv';
csvwrite(save_path_data,Train_images);
%将文件名数组保存
cell2csv(save_path_name, Train_names, ',');