我有以下图片:
和另一个完全相同的带有相同标志的变体。
我想要去除标志并保留底层文本。使用以下代码段:
![](https://istack.dev59.com/CLKZb.webp)
我想要去除标志并保留底层文本。使用以下代码段:
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)
我得到了这些结果
但如图所示,由于水印边缘残留和字母消失,导致生成的图像不一致。是否有更好的解决方案?理想的解决方案将是在不影响位于其下面的文本的情况下去除水印边框。