2012-04-17 104 views
1

我想加载特征向量到分类器,如k-最近的邻居分类器。MATLAB保存和加载特征矢量

我有我的代码GLCM,所以我得到对比度,相关性,能量,数量(特征向量)的同质性。

我的问题是,我怎样才能保存所有训练图像的每一组特征向量?我曾经在某处看到人们有一个.set文件加载到分类器中(可能这是特定分类器工具箱的特例)。

load 'mydata.set'; 

例如。

我想它不一定是.set文件。
我只需要一种方法来将所有训练图像中的所有特征矢量存储在可以加载的单独文件中。我的谷歌, and I found this that may be useful 但我不完全确定。

感谢您的时间和事先的帮助。

问候。

回答

0

如果你安排你的特征向量作为所谓X数组的列,然后就发出命令

save('some_description.mat','X'); 

另外,如果你想保存的文件是可读的,说在ASCII,那么就使用这个代替:

save('some_description.txt', 'X', '-ASCII'); 

以后,当您想重新使用这些数据,只是说

var = {'X'}; % <-- You can modify this if you want to load multiple variables. 

load('some_description.mat', var{:}); 
load('some_description.txt', var{:}); % <-- Use this if you saved to .txt file. 

然后名称为'X'的变量将被加载到工作区中,其列将与您之前计算的特征向量相同。

您将需要替换上述每个文件名的some_description部分,而是使用允许您轻松识别哪些数据集的特征向量保存在文件中(如果有多个数据集)的东西。除X之外,还可以调用您的特征向量数组,因此您可以相应地更改名称。

+0

非常感谢你的回答。 所以我把一个训练图像的特征向量作为一个文件?或者只需从同一列中的相同图像输入矢量? – jacksonY 2012-04-17 10:59:53

+0

例如,在保存文件中,从训练图像1: X = [7,5,3,1] 或者我可以将它与训练图像2结合: X = [7,5,3,1; 8,4,2,0] – jacksonY 2012-04-17 11:10:10

+0

我的选择是将它们组合起来,就像在第二个例子中一样。在这种情况下,您的语法将特征存储为行,但将它们存储为列可能更为经济。如果您从单个图像计算许多不同的特征向量,则始终可以使用引用图像的名称来保存它们。但是如果您只保存每个图像一个,我会将它们连接为'X'的列,然后用描述性文件名保存'X'。另外,如果您认为我的回答有帮助,请考虑对其进行投票或接受(通过点击左侧的复选标记)。谢谢! – ely 2012-04-17 15:22:49