2016-07-17 2 views
0

192 x 144 픽셀 이미지가 있습니다. 목록의 항목이 NDArray 인스턴스가되도록 파이썬 목록으로 가져와야합니다. 목록에서 새 데이터 프레임을 만들어야하며 해당 데이터 프레임을 Isomap에 제공해야합니다. iso.fit(df) 내가 NDArrays 처리하고 dataframe 그들과 함께로드 할 수 방법을 알아 내려고 하루 이상 썼다매니 폴드 용 이미지 가져 오기 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

감사합니다. 그것을 변형 시키십시오. – Tapani