0

我是 python 的新手Nmf。我正在尝试创建图像列表以获取组件。这是代码:

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.
4

1 回答 1

1

根据文档。设计矩阵(的参数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)
于 2020-04-28T12:54:50.543 回答