Как удалить водяной знак с помощью метода opencv inpaint - PullRequest
0 голосов
/ 13 октября 2019

Пытаюсь удалить водяной знак с изображений методом opencv inpaint, мне удалось использовать match pattern для обозначения позиции водяного знака, но я не уверен, как использовать метод inpaint для его удаления.

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt

img_rgb = cv.imread('img.jpg')
img_gray = cv.cvtColor(img_rgb, cv.COLOR_BGR2GRAY)

template = cv.imread('mask.png', 1)
(thresh, template) = cv.threshold(template, 127, 255, cv.THRESH_BINARY)
template = cv.cvtColor(template, cv.COLOR_BGR2GRAY)

w, h = template.shape[::-1]
res = cv.matchTemplate(img_gray, template, cv.TM_CCOEFF_NORMED)
threshold = 0.25
loc = np.where(res >= threshold)
# Draw marked rectangle
for pt in zip(*loc[::-1]):
    cv.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0, 0, 255), 2) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...