ehristoforu commited on
Commit
3fdadb5
1 Parent(s): 9d2bfa3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -27
app.py CHANGED
@@ -1,34 +1,28 @@
1
- # Импортируем необходимые библиотеки
2
  import gradio as gr
3
  import cv2
4
- import numpy as np
5
 
6
- # Определяем функцию, которая удаляет watermark с изображения
7
- def remove_watermark(image):
8
- # Преобразуем изображение в серый цвет
9
- gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
10
- # Применяем медианный фильтр для сглаживания шума
11
- gray = cv2.medianBlur(gray, 5)
12
- # Находим границы водяного знака с помощью алгоритма Canny
13
- edges = cv2.Canny(gray, 50, 150)
14
- # Находим контуры водяного знака с помощью алгоритма findContours
15
- contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
16
- # Создаем маску для водяного знака с помощью алгоритма drawContours
17
- mask = np.zeros_like(gray)
18
- cv2.drawContours(mask, contours, -1, 255, -1)
19
- # Применяем инпейнтинг для заполнения водяного знака цветом фона с помощью алгоритма inpaint
20
- result = cv2.inpaint(image, mask, 3, cv2.INPAINT_TELEA)
21
- # Возвращаем результат
22
- return result
23
 
24
- # Создаем интерфейс Gradio с помощью библиотеки gradio
 
 
 
 
 
 
25
  iface = gr.Interface(
26
- fn=remove_watermark, # Указываем функцию, которая будет обрабатывать изображение
27
- inputs=gr.Image(), # Указываем тип входного параметра - изображение
28
- outputs=gr.Image(), # Указываем тип выходного параметра - изображение
29
- title="RWOI", # Указываем заголовок приложения
30
- description="This app removes watermark from images using OpenCV." # Указываем описание приложения
31
  )
32
 
33
- # Запускаем приложение
34
- iface.launch()
 
 
1
  import gradio as gr
2
  import cv2
3
+ from watermark_removal import remove_watermark
4
 
5
+ # Функция для удаления водяных знаков с изображения
6
+ def remove_watermark(input_image):
7
+ # Загрузка изображения
8
+ image = cv2.imdecode(np.frombuffer(input_image.read(), np.uint8), -1)
9
+
10
+ # Удаление водяных знаков с использованием библиотеки image-watermark-removal
11
+ result_image = remove_watermark(image)
 
 
 
 
 
 
 
 
 
 
12
 
13
+ # Преобразование изображения обратно в байты
14
+ _, encoded_image = cv2.imencode(".jpg", result_image)
15
+ result_image = encoded_image.tobytes()
16
+
17
+ return result_image
18
+
19
+ # Создание Gradio приложения
20
  iface = gr.Interface(
21
+ fn=remove_watermark,
22
+ inputs=gr.Image(),
23
+ outputs=gr.Image(),
24
+ live=True,
25
+ capture_session=True
26
  )
27
 
28
+ iface.launch()