我有一组RGB图像的坐标(1920 x 1080)存储为一个列表,它是RoI(感兴趣区域),如下所示
[[1538, 234, 1626, 313],
[421, 231, 472, 288],
[918, 199, 988, 270],
[802, 0, 963, 114],
[1732, 0, 1909, 108]]
然后,我应用以下条件更改上面列表中坐标范围内的特定像素值,仅通过将像素更改为白色和黑色来突出显示这些ROI
for coords in list_of_coords:
roi = orig[coords[1]:coords[3], coords[0]:coords[2]]
roi [(roi > 200)] = 0
roi [(roi < 200)] = 255
我现在如何获取这些新修改的像素值,并以一定的透明度将它们应用到原始图像的顶部?理想情况下,图像的其余部分将是相同的,而这些坐标内的值将在其顶部有一个透明遮罩
下面是所需输出的示例。我从Mask RCNN中获取了这一点,在矩形坐标中,添加了一点蓝色阴影以突出RoI。矩形框用上面的列表表示,蓝色阴影是根据上述条件进行的操作
如果我完全理解的话,我仍然不确定你想要实现什么,但我试图回答你的问题:
基本上,对于每一组坐标,您需要执行以下操作:
下面是我的示例图像和坐标的最终输出:
这是我的密码:
下面是第一个ROI的额外可视化:
希望这就是你想要的
我想你正在寻找的答案是
alpha blending
。 如果您有描述中给出的两个图像(大小相同)(我们称它们为img
和annotation
),您可以执行以下操作:您可以找到有关函数here的一些解释
现在,如果您的图像大小不同,则需要在混合它们之前调整它们的大小(我会调整较小图像的大小,以获得与较大图像相同的大小),因此它应该如下所示:
相关问题 更多 >
编程相关推荐