如何在灰度图像上绘制彩色像素?

4

我有一个二维ndarray。每个元素都是整数。我以这种方式显示矩阵:

plt.figure()
plt.imshow(img, cmap='Greys')

在这里,img 是一个二维数组。现在我想强调一些关于图片的点:例如,我希望像素 (x,y) 是红色的(我不想改变真实的像素值,只是用红色显示图像)。

有什么建议吗?


1
像素点 是红色的重要还是只是图像中的位置被突出显示?也就是说,使用以该像素点为圆心的圆形是否可以? - Hannes Ovrén
1个回答

4
这里是一个代码片段来阐明这个过程(思路是玩转RGB通道):
import numpy as np
import matplotlib.pyplot as plt
im = np.random.randint(0, 255, (16, 16))
I = np.dstack([im, im, im])
x = 5
y = 5
I[x, y, :] = [1, 0, 0]
plt.imshow(I, interpolation='nearest' )
plt.imshow(im, interpolation='nearest', cmap='Greys')

我任意选择了xy的值为5(原图大小为16x16)。

最后一行显示im未被改变,倒数第二行给出了想要的结果。

输出:

输入图像说明

输入图像说明


1
对我来说有效,但是改为 I[x, y, :] = [255,0,0] - user3433489

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接