Есть ли способ изменить несколько изображений вместе в python для NMF? - PullRequest
0 голосов
/ 28 апреля 2020

Я новичок с Nmf с python. Я пытаюсь создать список изображений, чтобы затем получить компоненты. Вот код:

from skimage import color
from skimage import io
import matplotlib.pyplot as plt

f=color.rgb2gray(io.imread('f.jpg'))
e=color.rgb2gray(io.imread('e.jpg'))


images2= (e,f)

from sklearn.decomposition import NMF
model=NMF(n_components=2)
features=model.fit_transform(images2)

И тогда появляется следующая ошибка:

Found array with dim 3. Estimator expected <= 2.

1 Ответ

1 голос
/ 28 апреля 2020

Согласно документации. Матрица дизайна (аргумент NMF.fit) должна иметь размер (n_samples,n_features). Это означает, что вам нужно сгладить ваши изображения.

Попробуйте:

from skimage import color
from skimage import io
import matplotlib.pyplot as plt

f=color.rgb2gray(io.imread('f.jpg'))
e=color.rgb2gray(io.imread('e.jpg'))


images2= (e,f)

#flattening
images2 = np.array(images2).reshape(2,-1)

from sklearn.decomposition import NMF
model=NMF(n_components=2)
features=model.fit_transform(images2)
...