将图像转换为像素矢量

时间:2017-04-05 19:50:46

标签: python image-processing

我正在尝试将图像转换为像素数组。 这是我目前的代码。

im = Image.open("beeleg.png")
pixels = im.load()
im.getdata() # doesn't work
print(pixels # doesn't work

理想情况下,我的最终目标是将图像转换为仅像素的矢量,例如,如果我有尺寸100x100的图像,那么我想要一个尺寸为1x10000的矢量,其中每个值都在[0,255]之间。然后,将数组中的每个值除以256,并在向量的前面添加1的偏差。但是,如果不能获得阵列,我无法继续这一切。怎么办?

2 个答案:

答案 0 :(得分:0)

Scipy的ndimage库通常是用于处理像素作为数据(数组)的首选库。您可以使用scipy.ndimage.imread将文件(支持的最常见格式)加载到numpy数组中,该数组可以轻松地重新整形和数学运算。 mode关键字可用于在加载时指定颜色空间变换(将RGB图像转换为黑白图像)。在您的情况下,您要求0-255(8位灰度)的单色像素,因此您将使用mode='L'。有关用法/更多有用的功能,请参阅The Documentation

答案 1 :(得分:0)

如果使用OpenCVgray=cv2.imread(image,0)将返回带有n rows x m cols单通道numpy数组的灰度图像。 rows, cols = gray.shape将返回图片的高度和宽度。