提问者:小点点

如何将AX.Plot信息保存为像素数据?


给出了一个简单的代码示例,它使用ax.plot()在给定坐标之间绘制直线

import matplotlib.pyplot as plt
x_values = [0, 2, 4, 5]
y_values = [3, 1, 5, 2]
fig, ax = plt.subplots(1, 1)
ax.set_xlim(0,5)
ax.set_ylim(0,5)
ax.plot(x_values, y_values)
plt.show()

为了进行图像处理,我需要该图像的原始像素数据(B/W足够),在给定的像素大小下,让它是[MxN],仅给定线endpoint坐标,我正在查看的数据将是一个维数为[MxN]的数组,仅包含01

当然,需要根据像素大小进行插值。 在我的特定用例中,我有很多复杂的线是用ax.plot()绘制的,因此我无法手动地对每一行进行插值。

正如我看到的,有ax.imshow(),但这不会返回矩阵/向量。 有人有什么主意吗?


共1个答案

匿名用户

您可以将图像保存为jpg,然后将其作为numpy数组打开。 您可以检查形状,以确保它符合您的喜好。

import numpy as np 
from PIL import Image

i = Image.open('name of your jpg.jpg')
array = np.asarray(i)
print(array.shape)