给出了一个简单的代码示例,它使用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]
的数组,仅包含0
和1
。
当然,需要根据像素大小进行插值。 在我的特定用例中,我有很多复杂的线是用ax.plot()
绘制的,因此我无法手动地对每一行进行插值。
正如我看到的,有ax.imshow()
,但这不会返回矩阵/向量。 有人有什么主意吗?
您可以将图像保存为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)