MATLAB从MAT文件中提取特征

7

我有30张不同叶子的照片,背景都是白色,编号为1-30。 我正在进行图像处理项目,用户可以加载新的带有白色背景的叶子图像,程序将与数据库中的图像进行比较并显示最相似的图像。 我对matlab不熟悉。

如何提取特征并以double格式存储到数据库(mat文件)中?


首先,您必须决定“最相似”的含义以及您的“特征”是什么。如果您只想存储原始像素值,那么可以执行 x = imread('file.png'); Y = zeros([30 size(x)]); Y(1,:,:,:) = x; - Chris Taylor
1个回答

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

祝你好运。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接