2016-07-17 7 views
0

192 x 144ピクセルの画像があります。リスト内の項目がNDArrayインスタンスであるように、それらをPythonリストにインポートする必要があります。新しいデータフレームをリストから作成し、そのデータフレームをIsomapに渡す必要があります。 iso.fit(df)は私がNDArraysが処理され、データフレームは、それらをロードする方法を把握しようとしている以上、一日を過ごしてきたマニホールドの画像を取り込むIsomap

array = array.astype(np.float64) 

ValueError: setting an array element with a sequence. 

エラーで失敗します。運がない。どんな助けもありがとう。

import pandas as pd 
from scipy import misc 
import glob 
from sklearn import manifold 

samples = [] 

for filename in glob.glob('Datasets/ALOI/32/*.png'): 
    img = misc.imread(filename, mode='I') 
    samples.append(img) 

df = pd.DataFrame.from_records(samples, coerce_float=True) 

iso = manifold.Isomap(n_neighbors=6, n_components=3) 
iso.fit(df) 

答えて

1

これらがALOIのグレースケール画像の場合は、各ピクセルの輝度をフィーチャとして扱いたいと思うかもしれません。したがって、img.reshape(-1)を使用してimg配列を平坦化する必要があります。改訂コードは次のとおりです。

import pandas as pd 
from scipy import misc 
import glob 
from sklearn import manifold 

samples = [] 

for filename in glob.glob('Datasets/ALOI/32/*.png'): 
    img = misc.imread(filename, mode='I') 
    # the following line changed 
    samples.append(img.reshape(-1)) 

df = pd.DataFrame.from_records(samples, coerce_float=True) 

iso = manifold.Isomap(n_neighbors=6, n_components=3) 
iso.fit(df) 
+0

ありがとう、あなたはhawleyです。 reshape()です。 – Tapani

関連する問題