1

私はMATLABの初心者です。画像の特徴ベクトルとしてピクセルグレイレベル値に変換する必要があるbmp画像があります。誰かが私にそれをどうやって行えるのかを提案することはできますか? これらのピクセルグレーレベル値をフィーチャとして使用し、PCA/LDAのような操作を実行する必要があります。 私はimread()を試しましたが、それは私に行列を返します。私は、特徴ベクトルがただ1つの行ベクトルになると感じています。PNG画像をピクセルグレイレベル値に変換する機能ベクトル

よろしく、

答えて

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を行うことができます。

+0

お返事ありがとうございます。では、imread()が72x96x3の行列を返す場合、私はrgb2gray()を使うべきですか?そうであれば72 * 96は6912なので各行の特徴ベクトルは6912の列値を持つでしょうか? – rinku

+0

正しい。 PCAは最終的に利用可能なメモリによって制限されますが、その多くの機能で動作するはずです。 –

+1

BTWでは、すべての生のピクセルデータを使用するのではなく、コンピュータビジョンフィールドを調べたい場合は、画像から特徴を抽出する他の興味深い方法がたくさんあります。がんばろう! –

関連する問題