【问题标题】:Convert PNG images to pixel gray-level values feature vectors将PNG图像转换为像素灰度值特征向量
【发布时间】:2011-12-15 22:40:28
【问题描述】:

我是 MATLAB 的新手,我有一组 bmp 图像,我需要将其转换为像素灰度值作为图像的特征向量。谁能建议我如何做到这一点? 我需要将这些像素灰度值用作特征,然后执行 PCA/LDA 之类的操作。 我尝试了 imread() 但它返回给我一个矩阵。我觉得特征向量将只是一个行向量。

问候,

【问题讨论】:

    标签: image-processing matlab pattern-recognition feature-extraction


    【解决方案1】:

    imread() 是正确的方法。然后只需从矩阵转换为向量。例如:

    >> X = randi(255, 10)
    
    X =
    
       208    41   168   181   112    71   192   215    90    20
       231   248    10     9    98   174    66    65   212    14
        33   245   217    71   196   168   130   208   150   136
       233   124   239    12   203    42   179    63   141   199
       162   205   174    25    48    31   228   237   234   239
        25    37   194   210   125   128   245    90    73    34
        72   108   190   178   114   245   140    51   194   146
       140   234   101    81   165    87    36    65   193   120
       245   203   168   243   181   150    39   158    98     4
       247   245    44     9   193    58    66   121   145    86
    
    >> X(:)
    
    ans =
    
       208
       231
        33
       233
       162
        25
        72
       140
       245
       247
    ...
    

    然后您可以将您的不同观察结果与[] 叠加在一起并进行 PCA。

    【讨论】:

    • 感谢您的快速回复。那么如果imread()返回一个72x96x3的矩阵怎么办,我应该使用rgb2gray()吗?如果是,那么 72*96 是 6912,所以每个行特征向量将有 6912 列值可以吗?
    • 正确。 PCA 最终会受到可用内存的限制,但它应该可以使用这么多功能。
    • 顺便说一句,如果您想研究计算机视觉领域,那么除了使用所有原始像素数据之外,还有很多其他有趣的方法可以从图像中提取特征。祝你好运!
    • 这远远不是我的专业领域,但是,例如,在优秀的 UCI ML 数据库中查看这个数据集:archive.ics.uci.edu/ml/datasets/Corel+Image+Features
    • 此外,如果您对任何类型的几何特征检测感兴趣,只需开始在谷歌上搜索“人脸检测”,您就会获得大量示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 2011-01-25
    • 2017-04-05
    • 1970-01-01
    • 2010-11-20
    相关资源
    最近更新 更多