python去水印如何制作mask_python中如何使用mask删除背景

本文介绍如何在Python中利用OpenCV库去除水印。首先安装OpenCV,然后加载图像和蒙版,确保蒙版为黑白。接着,创建背景,并通过位运算处理图像、背景及蒙版,实现水印的去除。最终,将处理后的前景和背景图像合并,得到无水印图像。
摘要由CSDN通过智能技术生成

在Python中,可以使用OpenCV。这里是instructions to install OpenCV in Python,如果您的系统中没有它。我想你也可以用其他的库来做同样的事情,过程也是一样的,诀窍是把蒙版反转并应用到某个背景上,你将得到你的蒙版图像和一个蒙版背景,然后你将两者结合起来。在

image1是用原始遮罩遮住的图像,image2是用倒置遮罩遮住的背景图像,image3是组合图像。重要。image1、image2和image3的大小和类型必须相同。遮罩必须是灰度级的。import cv2

import numpy as np

# opencv loads the image in BGR, convert it to RGB

img = cv2.cvtColor(cv2.imread('E:\\FOTOS\\opencv\\iT5q1.png'),

cv2.COLOR_BGR2RGB)

# load mask and make sure is black&white

_, mask = cv2.threshold(cv2.imread('E:\\FOTOS\\opencv\\SH9jL.png', 0),

0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

# load background (could be an image too)

bk = np.full(img.shape, 255, dtype=np.uint8) # white bk, same size and type of image

bk = cv2.rectangle(bk, (0, 0), (int(img.shape[1] / 2), int(img.shape[0] / 2)), 0, -1) # rectangles

bk = cv2.rectangle(bk, (int(img.shape[1] / 2), int(img.shape[0] / 2)), (img.shape[1], img.shape[0]), 0, -1)

# get masked foreground

fg_masked = cv2.bitwise_and(img, img, mask=mask)

# get masked background, mask must be inverted

mask = cv2.bitwise_not(mask)

bk_masked = cv2.bitwise_and(bk, bk, mask=mask)

# combine masked foreground and masked background

final = cv2.bitwise_or(fg_masked, bk_masked)

mask = cv2.bitwise_not(mask) # revert mask to original

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值