我正在尝试将 NMF 应用于以灰度模式加载的特定图像。我尝试了几个链接,但应用 NMF 后的图像几乎保持不变,无法与最初加载的灰度图像区分开来。
然而,当我遇到 scikit-learn 关于在数据集上实现分解的代码时,我看到那里的面孔已经变成了鬼脸。链接在这里:
这是我正在使用的代码:
import cv2
from sklearn import decomposition
import matplotlib.pyplot as plt
img = cv2.imread('test1.jpeg',0)
estimator = decomposition.NMF(n_components = 2, init = 'nndsvda', tol = 5e-3)
estimator.fit(img)
vmax = max(img.max(), -img.min())
plt.imshow(img, cmap=plt.cm.gray, interpolation = 'nearest',vmin=-vmax,vmax=vmax)
plt.show()
我对矩阵上的 NMF 技术很陌生,尤其是如此大的图像 numpy 数组。
我的图像是 test1.jpeg,即 225 * 224 .jpeg 图像。
有人可以帮我实现单个图像的代码吗?提前非常感谢。