2016-10-02 69 views
0

我需要知道保存使用提取方法提取的值的过程是什么。亲爱的人们,我真的需要帮助。MATLAB:为提取的功能创建数据库

我使用GLCM从图像中提取特征,它们包括:

Autocorrelation, Contrast, Correlation, Cluster Prom. etc.

autoc: 3.900316455696202e+00 
    contr: 1.091772151898734e+00 
    corrm: 4.581568547804957e-01 
    corrp: 4.581568547804950e-01 
    cprom: 2.281526081422013e+01 
    cshad: 3.969992738911119e+00 
    dissi: 6.835443037974684e-01 
    energ: 1.564853388879987e-01 
    entro: 2.304539365626317e+00 
    homom: 7.199367088607593e-01 
    homop: 6.990506329113924e-01 
    .... 

但我不知道该程序将这些值保存到数据库(数据集?)。

因此,以后我可以将这些值与输入/测试图像特征进行比较。

我寻找在互联网上,但买不起来解决这个主要是因为新Image Processing Toolbox这是不提供给我的老MATLAB便利。

我对程序旅游解说是:

  • 提取所述特征的每个在一个名为数据库值
  • 保存他们
  • 遍历价值和应用简单的分类(数据集?)。

但现在我不知道如何将这些值保存到数据库中作为分类器的后续输入。

+0

所以,你有* *提取的特征,和你的问题是如何有效地保存这些,对吗?由于你似乎有一个相当古老的Matlab,你能告诉我们它是哪个版本吗? – hbaderts

+0

我有MATLAB R2008a和(临时借用R2013a 6个月),我需要帮助保存值 –

+0

一般情况下,你可以使用'save'任何值保存到一个文件中。如果你想为许多图像保存相同的功能,你可以创建一个'struct'并保存。 – hbaderts

回答

1

A struct非常适合于保存这样的数据,例如,

database = struct('autoc', 3.900316455696202, 'contr', 1.091772151898734, ...) 

struct帮助页面,有一个如何填充数据到一个结构,这取决于你如何在第一时间拿到的地方你的数据更多的例子。 你可以例如首先创建一个空的结构与预先定义的字段:

database = struct('autoc',{},'contr',{},'corrm',{}, ...) 

,然后用

database(1).autoc = 3.900316455696202; 
database(1).contr = 1.091772151898734; 
... 

添加数据并为下一个图像:

database(2).autoc = 3.900316455696202; 
database(2).contr = 1.091772151898734; 
... 

那么,你就会有一个你的工作空间中包含所有数据的结构数组。您可以访问数据,例如与 database(1), 它返回第一个图像的所有功能。 您可以使用database(1).autoc直接访问功能。 然后,您可以使用[database(:).autoc]获取所有图像的autoc字段。

该数据库保存到一个文件,你可以使用save功能,这简直是

save('your_filename.mat', 'database') 
+0

非常感谢!谢谢! –