Python-rgb2gray不处理我的照片

Python-rgb2gray不处理我的照片,python,image,rgb,grayscale,Python,Image,Rgb,Grayscale,这有点复杂,我会尽力解释的 我的电脑上有一张照片,一张脸的照片。我想将该图像读取到某个矩阵X,执行一些操作,我不会详细介绍,因为它相当复杂,但最终我应该得到X=as 这是我的密码 import numpy as np import skimage.io as io from skimage import color import sklearn.decomposition as dc X=color.rgb2gray(io.imread('/home/oria/Desktop/1.ppm'))

这有点复杂,我会尽力解释的

我的电脑上有一张照片,一张脸的照片。我想将该图像读取到某个矩阵
X
,执行一些操作,我不会详细介绍,因为它相当复杂,但最终我应该得到
X=as

这是我的密码

import numpy as np
import skimage.io as io
from skimage import color
import sklearn.decomposition as dc
X=color.rgb2gray(io.imread('/home/oria/Desktop/1.ppm'))
ica=dc.FastICA()  
S=ica.fit(np.matrix.transpose(X))
A=ica.mixing_ 
B=np.linalg.pinv(A)
S=np.dot(B,X) 
Y=np.dot(A,S)
预期的最终结果是Y将近似等于X。 事实并非如此,我认为情况并非如此的原因在于灰度图像中的X(这是
io.imshow(X)

而Y不是(
io.imshow(Y)
):

你可以看到它是同一个人,同一幅画,这很好,但颜色都被扭曲了。所以我想如果我能把Y转换成灰度,那么我会得到X=Y

但是每当我执行io.imshow(color.rgb2gray(Y))时,没有任何变化。更进一步地检查我自己,
Y-color.rgb2gray(Y)
确实是零矩阵。好像格雷什么都没做

为什么不起作用