图像的矩阵值

时间:2018-02-08 08:26:57

标签: python image image-processing

所以,我试图将黑白图像转换为相应的矩阵。我已经使用该建议转换为此答案中给出的矩阵表示。

How to see the whole matrix of an image in python?

图像是: enter image description here

我得到的相应json文件主要由[1.0, 1.0, 1.0]组成。由于大部分论文是白色的,我假设[1.0, 1.0, 1.0]代表白色。但是怎么样呢?白色由[255, 255, 255]表示。那究竟发生了什么?

2 个答案:

答案 0 :(得分:1)

这是一张RGB图像。最简单的方法是使用PIL.Image模块和numpy

from PIL import Image
import numpy as np
img = Image.open(PATH_TO_IMAGE)
img_as_matrix = np.array(img)
np.savetxt('imagematrix.txt', img_as_mtrix, delimiter=" ", fmt="%s") 

答案 1 :(得分:1)

the docu暗示,MxNx3维度的结果意味着RGB编码。剩下要做的唯一事情是将他们的表示(float[0..1])变成你想要的那个(int[0..255]):

with open('your_image.png', 'r') as img:
    image_as_floats = json.load(img)
image_as_ints = [[int(r*255), int(g*255), int(b*255)] for r, g, b, in image_as_floats]

with open('your_image_2.png', 'w') as img:
    img.write(json.dumps(img))