首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中使用首选项叠加分段掩码

在Python中使用首选项叠加分段掩码
EN

Stack Overflow用户
提问于 2019-05-08 15:45:11
回答 1查看 988关注 0票数 0

考虑4个分割图像或numpy数组- A、B、C和D(每个像素要么是0,要么是图像中对象位置的classID )。这4个分割的2-D阵列是存在于一个图像中的不同对象的分割。例如:图像A具有分割对象#1,图像B具有分割对象#2,依此类推。需要将不同对象的所有这些分割叠加到一个图像中,而不是具有4个单独的分割图像。

当然,我们只需要执行a+b+c+d来覆盖它们。然而,对象的分割像素可以在images.For上重叠。例如,图像'A‘中的对象#1的分割像素可以与图像'B’中的对象#2的分割像素重叠。如果发生这种重叠,则对象#2的ClassID优先于该像素位置。较高object #的ClassID优先。因此,不能简单地将所有图像相加以将所有分割合并为一个相干分割图像。

两个分割图像的例子-对象A的像素值为1,B的像素值为2。在仅考虑这两个图像的情况下,我想将对象B叠加到对象A上(每个对象在组合时将具有不同的颜色)。对象B应该在它们重叠的对象A上可见。

我采取了一种方法,将每个图像逐个相加,如果任何结果像素的值等于object #1的classID和object#2的classID之和,则表示重叠,并将这些像素设置为classID #2的值。因为比较和的解决方案不是唯一的,所以没有正确地解决问题。

我知道的一种方法是遍历每个像素,并一次比较两个图像的像素对。如果有人有更有效的解决方案,请让我知道!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-08 15:54:28

听起来你只是想要所有图像的元素最大值。假设你使用的是Numpy,那么下面这样的代码应该是有效的:

代码语言:javascript
运行
复制
numpy.maximum.reduce([A, B, C, D])

这将逐个元素的最大值操作应用于每个数组,一次一个(例如,缩减)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56035872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档