如何使用matplotlib.pyplot.imshow更改特定位置的颜色?



我有一个numpy数组,我使用以下代码来绘制一张简单的图片。

import numpy as np
from matplotlib import pyplot as plt
plt.show(image, cmap='gray')

我还有一个包含图像的几个位置的列表,我想在同一张图片上更改这些位置的颜色。例如,我有另一个这样的列表:

pos = [(0,1),(3,6)...]

我想根据这个改变像素的颜色。对于其他像素,它们保持不变。我该怎么做?

如果你不介意复制或修改图像,你可以访问数组中的像素值:

import numpy as np
image = np.eye(10)
pos = [(0,1),(3,6)]
values_to_set  = [125,255]
for p, val in zip(pos, values_to_set):
image[p] = val

最新更新