Scikit learn 在PythonforNMF中,有没有办法一起重塑多个图像?

Scikit learn 在PythonforNMF中,有没有办法一起重塑多个图像?,scikit-learn,scikit-image,nmf,Scikit Learn,Scikit Image,Nmf,我是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 NM

我是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.

找到了具有dim 3的数组。根据文件,预计估计员。设计矩阵(参数
NMF.fit
)的大小需要
(n个样本,n个特征)
。这意味着你需要将图像展平

尝试:

从skimage导入颜色
从撇渣进口io
将matplotlib.pyplot作为plt导入
f=color.rgb2gray(io.imread('f.jpg'))
e=color.rgb2gray(io.imread('e.jpg'))
图像2=(e,f)
#压扁
images2=np.数组(images2).重塑(2,-1)
从sklearn.decomposition导入NMF
模型=NMF(n_组件=2)
特征=模型。拟合_变换(图像2)

您需要将每个图像展平为一个向量(1d)。