matplotlib中的图像存储为numpy数组。我不确定numpy数组中的像素值是什么意思。我知道RGB值由8位颜色表示,但如果我有彩色图像,我不应该得到三个代表(R,G,B)的8位值的向量吗?或者这是图像的强度?
我也尝试绘制一个像素直方图,我看到像素值停止在256,因为像素值是8位,但我不太明白它的意义。
下面是从我增强背景的图像中绘制的。
答案 0 :(得分:1)
正在加载此图片:
import pylab as plt
from matplotlib.pyplot import imread
A = imread("so-logo.png")
print A.shape
plt.imshow(A)
plt.show()
然后看着形状给出了(298, 1000, 4)
。因此,A是一个数组,其中第一个维度代表高度,第二个维度代表宽度,第三个维度代表颜色通道(RGBA)。例如,值A[180,45]
给出数组:
[ 0.50588238 0.50588238 0.52156866 1. ]
大约50%的红色,绿色,蓝色(灰色)和完全不透明。