2012-01-23 94 views
7

我在白色背景中有30个不同叶子的图像,编号为1-30。我正在处理图像处理中的一个项目,用户可以使用白色背景加载新的叶子图像,程序会将其与数据库中的图像进行比较并显示最相似的图像。我是matlab新手。matlab提取matfile中的特征

如何提取功能并将其以双格式存储到数据库(mat文件)?

+0

首先,您必须决定“最相似”的含义以及您的“功能”。如果你只是想存储原始像素值,那么你可以做'x = imread('file.png'); Y =零([30 size(x)]); Y(1,:,:,:) = x;'。 –

回答

1

您需要项目中的特征检测部分来提取特征集。这将是一个matlab函数,用于生成具有特征的输出数组或矩阵。为了知道哪些休假产生了这些功能,您需要使用字符串标记数据。 Matlab具有用于存储数据和文本等从PRtools采取的一个在本例中的结构:

> struct(A) 
ans = 
     data: [100x3 double] 
    lablist: {2x4 cell} 
     nlab: [100x1 double] 
    labtype: 'leave1' 
    targets: [] 
    featlab: [3x2 char] 
    featdom: {[] [] []} 
     prior: [] 
     cost: [] 
    objsize: 100 
    featsize: 3 
     ident: [100x1 struct] 
    version: {[1x1 struct] '21-Jul-2007 15:16:57'} 
     name: [] 
     user: [] 

的特征可以是像素值,例如,使得它们将被存储在数组内。这是一个简单的任务,但你首先需要读一点关于这个话题。

主要的问题将是为您选择的分类器选择一个训练集和测试集(特征)。这取决于你使用了多少功能,它们有多相似,以及很多事先你无法知道的事情,所以你将不得不尝试不同的训练/测试集和功能配置。

有一个matlab设计工具箱为此目的,所以试试看:PRtoolbox

祝你好运。