Yux*_*ang 2 python matplotlib scipy scikit-image
由于这是一种非常普遍的做法...我想知道matplotlib是否等效于scikit-image中的此函数?
from skimage import io
im = io.imread(fname, as_grey=True)
Run Code Online (Sandbox Code Playgroud)
要直接读取RGB文件为灰度?
我需要使用等效的matplotlib,因为我正在使用它来绘制结果。正如我所观察到的,似乎io.imread读取的ndarray与plt.imread读取的ndarray不相等。
谢谢!
您可以使用读取图像matplotlib.pyplot.imread。这将为您提供RGB或RGBA图像。如果获得RGBA图像,则可能要丢弃alpha层:
rgb = rgba[..., :3]
Run Code Online (Sandbox Code Playgroud)
您可以通过执行以下操作获得灰度图像的近似值:
rgb.mean(axis=2)
Run Code Online (Sandbox Code Playgroud)
但这并不完全正确。一个人应该用不同的权重乘以通道,然后将它们合并,即
([0.2125, 0.7154, 0.0721] * rgb).sum(axis=2)
Run Code Online (Sandbox Code Playgroud)