Как убрать водяной знак фона в изображении Python

У меня есть изображение, как показано ниже,

введите описание изображения здесь

Я хотел бы удалить фоновый водяной знак.

Пока я пытался, inpainting метод в opencv, Это не помогло мне.

Я попробовал следующий скрипт:

edges = cv2.Canny(img,50,150,apertureSize = 3)
dst = cv2.inpaint(img,edges,3,cv2.INPAINT_TELEA)

Я новичок в обработке изображений и opencv, Итак, я не знаю, правильно ли я делаю или нет для выполнения рисования. Какой метод я должен сделать для удаления фоновых водяных знаков.

Я хотел бы удалить зеленый цитируемый водяной знак с моего изображения.

введите описание изображения здесь

любая помощь будет более заметной.

1 ответ

Решение

Текст здесь имеет другую интенсивность, чем водяной знак. Вы можете поиграть с простым преобразованием яркости / контрастности, то есть увеличить усиление / контрастность до тех пор, пока водяной знак не исчезнет, ​​и уменьшить яркость для компенсации.

См. Документацию OpenCV для простого руководства.

Вот быстрая попытка в Python, не используя OpenCV потому что не нужно ИМХО для такого простого линейного преобразования. Поиграть с alpha (контраст) и beta (яркость) параметров, пока вы не получите желаемый результат

import cv2
import numpy as np

img = cv2.imread("veidz.jpg")

alpha = 2.0
beta = -160

new = alpha * img + beta
new = np.clip(new, 0, 255).astype(np.uint8)

cv2.imwrite("cleaned.png", new)

удаленный водяной знак

Другие вопросы по тегам