0
我目前有一个使用MATLAB的程序,我们必须对文件夹Training_images和Testing_images中的图像执行人脸识别。我写的代码做把这些图像插入MATLAB数据库:使用MATLAB将人脸图像读入数组
function database = buildImagesDataBase(directory, Imageprefix, extension, maxN, namesFile)
database = initDB(maxN);
names = readImgInfo([directory namesFile]);
for i=1:1:maxN
imgFileName = [directory, Imageprefix, num2str(i), '.', extension];
database(i).name = names{i};
database(i).rgb = imread(imgFileName);
if (length(size(database(i).rgb)) == 3)
database(i).gray = rgb2gray(database(i).rgb);
else
database(i).gray = database(i).rgb;
end;
database(i).grayCrop = cropHead(database(i).gray);
database(i).grayResize = imresize(database(i).grayCrop, [84 64]);
database(i).dataVect = database(i).grayResize(:);
end
末
然后,当我运行的代码将是这样的:
>>dbWink = buildImagesDB('Testing\', 'person', 'wink.gif', 10, 'names.txt');
不过,我需要修改代码,以便它不需要.txt文件来获取名称,而是从动态获取每个单独的文件名,例如。 Steven_happy,Michael_happy等等,所以从我的理解来看,这意味着'主题'字段也需要更改,以便文件名不会被主题前缀修复。 person1.wink 我不确定如何用MATLAB做到这一点,所以任何帮助将不胜感激。 谢谢, 马克