matplotlib补丁可以与函数一起使用吗?

时间:2017-07-27 14:14:53

标签: python image-processing matplotlib

我试图在Python中绘制一系列.fits图像,并应用阈值规则,以便只突出显示高值像素。我的阈值规则如下:

threshold = 7000
test = np.greater_equal(cropped_image, threshold)
plt.imshow(test)

通过这种方式,我返回一个黑/白图像,将所有大于阈值的像素显示为白色,将所有低于阈值的像素显示为黑色。 但是,我想做的是 - 而不是绘制单独的图像 - 是将颜色覆盖在超过阈值的像素之上。

据我所知,matplotlib模块patches能够覆盖图像上的颜色和形状;但是,patches似乎要求用户输入固定的坐标值,这些值将指定贴片的放置位置。

我的问题是,可以修改patches,以便可以将补丁放在超过阈值的像素上吗?或者是否有另一个模块可以更有效地实现这一目标?到目前为止我还没有找到任何东西。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

您只需使用参数alpha将第二张图片作为叠加层:

threshold = 7000
test = np.greater_equal(cropped_image, threshold)
img1 = plt.imshow(cropped_image)
img2 = plt.imshow(test, alpha=.9)
plt.show()

使用它(和色彩图)进行播放,以获得所需的显示效果。