我试图在Python中绘制一系列.fits图像,并应用阈值规则,以便只突出显示高值像素。我的阈值规则如下:
threshold = 7000
test = np.greater_equal(cropped_image, threshold)
plt.imshow(test)
通过这种方式,我返回一个黑/白图像,将所有大于阈值的像素显示为白色,将所有低于阈值的像素显示为黑色。 但是,我想做的是 - 而不是绘制单独的图像 - 是将颜色覆盖在超过阈值的像素之上。
据我所知,matplotlib模块patches
能够覆盖图像上的颜色和形状;但是,patches
似乎要求用户输入固定的坐标值,这些值将指定贴片的放置位置。
我的问题是,可以修改patches
,以便可以将补丁放在超过阈值的像素上吗?或者是否有另一个模块可以更有效地实现这一目标?到目前为止我还没有找到任何东西。
非常感谢您的帮助!
答案 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()
使用它(和色彩图)进行播放,以获得所需的显示效果。