1
我是MATLAB中的新手,我有一組bmp圖像,我需要將其轉換爲像素灰度值作爲圖像的特徵向量。任何人都可以告訴我如何做到這一點? 我需要使用這些像素灰度值作爲特徵,然後執行像PCA/LDA這樣的操作。 我試過imread(),但它返回給我一個矩陣..我覺得特徵向量將只是一個行向量。將PNG圖像轉換爲像素灰度值特徵向量
問候,
我是MATLAB中的新手,我有一組bmp圖像,我需要將其轉換爲像素灰度值作爲圖像的特徵向量。任何人都可以告訴我如何做到這一點? 我需要使用這些像素灰度值作爲特徵,然後執行像PCA/LDA這樣的操作。 我試過imread(),但它返回給我一個矩陣..我覺得特徵向量將只是一個行向量。將PNG圖像轉換爲像素灰度值特徵向量
問候,
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列值是否可以? – rinku
正確。 PCA最終會受到可用內存的限制,但它應該可以與許多功能配合使用。 –
順便說一句,如果你想看看計算機視覺領域,而不是僅僅使用所有的原始像素數據,還有很多其他有趣的方法可以從圖像中提取特徵。祝你好運! –