【问题标题】:Add a legend (like a matplotlib legend) to an image向图像添加图例(如 matplotlib 图例)
【发布时间】:2024-08-21 09:15:01
【问题描述】:

问题:向图像添加图例(如 matplotlib 图例)

说明:

我有一个图像作为 numpy 数组 uint8。 我想为其添加一个图例,就像 matplotlib 对其绘图所做的那样。

我的图像基本上是这个形状:

output_image = np.empty(shape=(x,x, 4), dtype=np.uint8)
    # B-G-R-A
blue = [255, 0, 0, 255]
green = [0, 255, 0, 255]
red = [0, 0, 255, 255]
orange = [0, 128, 255, 255]
black = [0, 0, 0, 255]
    ...

添加了上面的颜色。 然后返回图像。当它被方法返回时,我想给它添加一个图形。

示例如下。我会用图片代替图形

额外信息

输出是一个 numpy 数组,其值范围从 0 到 255。 数组中的每个像素,值,由一个 4-D 数组(Blue-Green-Red-Alpha)组成

图例应该加在图片的右下角。

原因是因为我必须这样做,我猜。

基本上当前的输出是 numpy 数组,我稍后将其用于其他目的。

【问题讨论】:

  • 添加更多信息。什么样的传说?在哪里?为什么?当前输出是多少?
  • 完成,如果您需要更多信息,请告诉我
  • 这些编辑应该如何提供帮助?我们仍然对图例的所需内容一无所知。你正在使用 imshow 打印图像?我只是试着想象如果我要绘制一张脸的彩色图像,我想添加什么样的传奇。 (第 1 行 ??? 可能不是)
  • 我想添加有关图像的信息,例如:“像素数量:1000”,“颜色:bla bla bla”等等。我没有使用imshow或matplotlib来显示或保存图像.
  • 你没有,但没关系。这里有些人急于得到帮助,有些人却没有。传说这个词的语义是什么通常无关紧要,而是 matplotlib 对它的看法(自然与绘制的东西相关;不同于文本框)。

标签: python numpy matplotlib


【解决方案1】:

您的问题本身清楚地表明您知道如何在 numpy 数组中制作图像。现在在一个较小的 numpy 数组中使用相同的技术制作您的图例。

最后,使用 numpy 中的工具将部分绘图数组替换为图例数组,如 this answer 中所述

【讨论】:

  • 好主意!没想到这个方法!非常感谢:)
  • 不客气。一开始我也没有想到。