【发布时间】:2022-01-20 08:54:57
【问题描述】:
在 matplotlib 中,我使用 matplotlib.pyplot.imshow 显示图像。我也知道如何画一个填充 Polygon。其中一个必需的参数是xy 一个形状为 (N, 2) 的 numpy 数组,其中 N 行中的每一行代表一个多边形点的 x-y 坐标。
现在,渲染到图像上的填充多边形也可以用位掩码表示(与图像具有相同的高度和宽度),填充为 1,否则为 0。
我的问题是,如果我有一个位掩码而不是多边形点,有没有办法直接从中绘制 matplotlib 中的填充多边形?我的意思是在一般情况下,位掩码可能有多个连续的 blob,或者它可能有孔:
它不一定是多边形,但它仍然应该是某种Artist。
注意:有这个类似的问题Create matplotlib polygon patch using image mask,但没有得到满意的回答。寻找轮廓是一个想法,但我想知道matplotlib中是否有更直接的东西。
【问题讨论】:
-
这一切都非常不清楚和抽象。您能否扩展您的问题 (minimal reproducible example) 以包含示例图像和位掩码?
-
@Alex 我已经编辑了我的问题以便更清楚。如果还没有回答,也许我可以稍后再回来添加示例。
-
嗯,
AxesImage也是一位艺术家,所以如果它不需要是多边形,您可以将位掩码作为另一个图像覆盖在您的图像上。 -
@Stef 嗯好的,有道理,我会试一试。谢谢!
标签: python matplotlib