【问题标题】:What do pixel values in an image array mean?图像数组中的像素值是什么意思?
【发布时间】:2014-08-03 22:22:28
【问题描述】:
matplotlib 中的图像存储为 numpy 数组。我不确定 numpy 数组中的像素值是什么意思。我知道 RGB 值是用 8 位颜色表示的,但是如果我有一个彩色图像,我不应该得到一个表示(R、G、B)的三个 8 位值的向量吗?或者这是图像的强度?
我还尝试绘制像素直方图,我看到像素值停止在 256,因为像素值是 8 位,但我不太了解它的意义。
下面是根据我增强背景的图像绘制的。
【问题讨论】:
标签:
image
image-processing
numpy
matplotlib
scipy
【解决方案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% 的红色、绿色、蓝色(非常灰色)并且完全不透明。