Импорт изображений для многообразия Isomap

python pandas dataframe

337 просмотра

1 ответ

1 Репутация автора

Есть 192 х 144 пикселей изображения. Их следует импортировать в список Python, чтобы элементы в списке были экземплярами NDArray. Новый фрейм данных должен быть создан из списка, и этот фрейм данных должен быть передан Isomap. iso.fit(df)терпит неудачу с ошибками

array = array.astype(np.float64)

ValueError: setting an array element with a sequence.

Я потратил больше одного дня, пытаясь выяснить, как должны обрабатываться NDArrays и загружаться с ними фрейм данных. Не повезло. Любая помощь будет оценена.

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)
Автор: Tapani Источник Размещён: 17.07.2016 11:25

Ответы (1)


1 плюс

11 Репутация автора

Если это полутоновые изображения из ALOI, вы, вероятно, хотите рассматривать яркость каждого пикселя как функцию. Поэтому вы должны сгладить массив img с помощью img.reshape (-1). Пересмотренный кодекс следует:

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)
Автор: hawley Размещён: 30.07.2016 08:03
Вопросы из категории :
32x32