3

RGB でマスクされた画像の表示が期待どおりに機能しないことに気付きました。つまり、結果の画像は表示時にマスクされません。それは正常ですか、回避策はありますか?

以下の例は、観察された動作を示しています。

import numpy as np
from matplotlib import pyplot as plt

img=np.random.normal(0,10,(20,20)) # create a random image
mask=img>0
ma_img=np.ma.masked_where(mask, img) # create a masked image

img_rgb=np.random.uniform(0,1,(20,20,3)) # create a randomRGB image
mask_rgb=np.broadcast_to(mask[...,np.newaxis],img_rgb.shape) # extend the mask so that it matches the RGB image shape
ma_img_rgb=np.ma.masked_where(mask_rgb, img_rgb) # create a masked RGB image

## Display:
fig, ax=plt.subplots(2,2)
ax[0,0].imshow(img)
ax[0,0].set_title('Image')
ax[0,1].imshow(ma_img)
ax[0,1].set_title('Masked Image')
ax[1,0].imshow(img_rgb)
ax[1,0].set_title('RGB Image')
ax[1,1].imshow(ma_img_rgb)
ax[1,1].set_title('Masked RGB Image')

ここに画像の説明を入力

興味深いことに、マスクされた RBG イメージ内のマスクされたピクセルの上をマウスが通過すると、Figure ウィンドウの右下隅にピクセル値が表示されません。

4

1 に答える 1