如何使用图像遮罩裁剪图像以去除多余的背景



我有两张一个人站起来的图像:一张原始的RGB图像,上面有人和背景,而该图像的遮罩/alpha蒙版只显示这个人的轮廓。到目前为止,我已经能够使用下面的函数通过裁剪从蒙版图像中去除多余的填充。

def crop_excess(image):
y_nonzero, x_nonzero = np.nonzero(image)
return image[np.min(y_nonzero):np.max(y_nonzero), np.min(x_nonzero):np.max(x_nonzero)]

现在我想使用裁剪后的遮罩,并将其强加在原始RGB图像上,以便去除多余的背景。

示例图像

关于如何做到这一点,有什么想法吗?

您应该从掩码中获取值,并在两个图像上使用它

y_nonzero, x_nonzero = np.nonzero(image)
y1 = np.min(y_nonzero)
y2 = np.max(y_nonzero)
x1 = np.min(x_nonzero)
x2 = np.max(x_nonzero)
cropped_image = image[y1:y2, x1:x2]
cropped_original_image = original_image[y1:y2, x1:x2]

最新更新