我有以下图片
以及具有完全相同徽标的另一个变体

我试图去掉徽标本身,同时保留底层文本。使用以下代码段
import skimage.filters as filters
import cv2
image = cv2.imread('ingrained.jpeg')
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
smooth1 = cv2.GaussianBlur(gray, (5,5), 0)
division1 = cv2.divide(gray, smooth1, scale=255)
sharpened = filters.unsharp_mask(division1, radius=3, amount=7, preserve_range=False)
sharpened = (255*sharpened).clip(0,255).astype(np.uint8)
# line segments
components, output, stats, centroids = cv2.connectedComponentsWithStats(sharpened, connectivity=8)
sizes = stats[1:, -1]; components = components - 1
size = 100
result = np.zeros((output.shape))
for i in range(0, components):
if sizes[i] >= size:
result[output == i + 1] = 255
cv2.imwrite('image-after.jpeg',result)
Run Code Online (Sandbox Code Playgroud)
我得到了这些结果


但如图所示,所得到的图像在水印轮廓的残留和字母被洗掉方面分别不一致。有没有更好的解决方案可以补充?理想的解决方案是删除水印边框而不影响其下方的文本。