mindspore_xai.visual
CV类可视化。
- mindspore_xai.visual.cv.normalize_saliency(saliency)[源代码]
归一化热力图。
- 参数:
saliency (Tensor, np.ndarray) - shape为 \((H, W)\) 的热力图。
- 返回:
np.ndarray,shape为 \((H, W)\) 的归一化热力图。
样例:
>>> import numpy as np >>> from mindspore_xai.visual.cv import normalize_saliency >>> >>> # prepare the saliency map >>> saliency_np = np.array([[0.4, 0.3, 0.1], [0.5, 0.9, 0.1]]) >>> output_img = normalize_saliency(saliency_np) >>> print(output_img.shape) (2, 3)
- mindspore_xai.visual.cv.saliency_to_rgba(saliency, cm=None, alpha_factor=1.2, as_uint8=True, normalize=True)[源代码]
将热力图转换成RGBA numpy数组。
- 参数:
saliency (Tensor, np.ndarray) - shape为 \((H, W)\) 的热力图。
cm (Callable, 可选) - 颜色图,如果为
None
,将使用matplotlib默认的viridis色带。默认值:None
。alpha_factor (float, 可选) - Alpha通道乘子。默认值:1.2。
as_uint8 (bool, 可选) - 返回UINT8数据类型。默认值:
True
。normalize (bool, 可选) - 归一化输入的热力图。默认值:
True
。
- 返回:
np.ndarray,如果 cm 为
None
,返回shape 为 \((H, W, 4)\) 的RGBA图。
样例:
>>> import numpy as np >>> from mindspore_xai.visual.cv import saliency_to_rgba >>> >>> # prepare the saliency map >>> saliency_np = np.array([[0.4, 0.3, 0.1], [0.5, 0.9, 0.1]]) >>> output_img = saliency_to_rgba(saliency_np) >>> print(output_img.shape) (2, 3, 4)
- mindspore_xai.visual.cv.saliency_to_image(saliency, original=None, cm=None, normalize=True, with_alpha=False)[源代码]
将热力图转换成PIL.Image.Image对象。
- 参数:
saliency (Tensor, np.ndarray) - shape为 \((H, W)\) 的热力图。
original (PIL.Image.Image, 可选) - 原图 。默认值:
None
。cm (Callable, 可选) - 颜色图,如果为
None
,使用matplotlib默认的viridis色带。默认值:None
。normalize (bool, 可选) - 归一化输入的热力图。默认值:
True
。with_alpha (bool, 可选) - 在返回的图像中加入alpha通道。默认值:
False
。
- 返回:
PIL.Image.Image,size为 \((H, W)\) 的RGB通道图像。如果 with_alpha 为
True
,返回RGBA通道图像。
样例:
>>> import numpy as np >>> from PIL import Image >>> from mindspore_xai.visual.cv import saliency_to_image >>> >>> # prepare the original image >>> img_array = np.random.randint(255, size=(400, 400), dtype=np.uint8) >>> orig_img = Image.fromarray(img_array) >>> # prepare the saliency map >>> saliency_np = np.random.rand(400, 400) >>> output_img = saliency_to_image(saliency_np, orig_img) >>> print(output_img.size) (400, 400)