Felguk commited on
Commit
5b21850
·
verified ·
1 Parent(s): 7ad4f69

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -61
app.py CHANGED
@@ -55,10 +55,27 @@ def process_txt(file):
55
  text = f.read()
56
  return text
57
 
58
- def remove_background(image):
 
59
  if image is None:
60
  return "**Ошибка:** Чем я буду удалять, если ты не загрузил изображение?"
 
 
61
  output = remove(image)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  return output
63
 
64
  def count_objects(image):
@@ -163,63 +180,8 @@ def translate_text(text: str, target_language: str):
163
  except Exception as e:
164
  return f"Ошибка перевода: {str(e)}"
165
 
166
- # Кастомные CSS-стили
167
- custom_css = """
168
- /* Основной фон */
169
- body, .gradio-container {
170
- background-color: #f5f5f5;
171
- font-family: 'Arial', sans-serif;
172
- }
173
-
174
- /* Заголовок */
175
- h1, h2, h3 {
176
- color: #333;
177
- font-weight: bold;
178
- }
179
-
180
- /* Кнопки */
181
- button {
182
- background-color: #4CAF50;
183
- color: white;
184
- border: none;
185
- padding: 10px 20px;
186
- border-radius: 5px;
187
- cursor: pointer;
188
- }
189
-
190
- button:hover {
191
- background-color: #45a049;
192
- }
193
-
194
- /* Вкладки */
195
- .tab-button {
196
- background-color: #e0e0e0;
197
- color: #333;
198
- border-radius: 5px 5px 0 0;
199
- }
200
-
201
- .tab-button.selected {
202
- background-color: #4CAF50;
203
- color: white;
204
- }
205
-
206
- /* Текстовые поля */
207
- input, textarea {
208
- border: 1px solid #ccc;
209
- border-radius: 5px;
210
- padding: 10px;
211
- width: 100%;
212
- }
213
-
214
- /* Изображения */
215
- img {
216
- border-radius: 10px;
217
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
218
- }
219
- """
220
-
221
- # Создание интерфейса с кастомными стилями
222
- with gr.Blocks(css=custom_css) as demo:
223
  # Заголовок с изображением
224
  gr.HTML("""
225
  <div style="text-align: center;">
@@ -230,7 +192,7 @@ with gr.Blocks(css=custom_css) as demo:
230
  # Felguk News
231
  gr.Markdown("""
232
  ## Felguk News
233
- **Последнее обновление:** 2024-01-03
234
  - Добавлена поддержка новых форматов файлов.
235
  - Улучшена производительность обработки изображений.
236
  - Исправлены ошибки в переводе текста.
@@ -256,9 +218,15 @@ with gr.Blocks(css=custom_css) as demo:
256
  with gr.Tab("Удаление фона"):
257
  gr.Markdown("## Удаление фона с изображения")
258
  image_input = gr.Image(label="Загрузите изображение", type="pil")
259
- image_output = gr.Image(label="Результат (без фона)", type="pil")
 
260
  remove_bg_button = gr.Button("Удалить фон")
261
- remove_bg_button.click(fn=remove_background, inputs=image_input, outputs=image_output)
 
 
 
 
 
262
 
263
  # Вкладка Numage
264
  with gr.Tab("Numage"):
 
55
  text = f.read()
56
  return text
57
 
58
+ # Функция для удаления фона с возможностью выбора фона или цвета
59
+ def remove_background(image, background=None, background_color=None):
60
  if image is None:
61
  return "**Ошибка:** Чем я буду удалять, если ты не загрузил изображение?"
62
+
63
+ # Удаляем фон с изображения
64
  output = remove(image)
65
+
66
+ # Если выбран цвет фона
67
+ if background_color:
68
+ background_image = Image.new("RGB", output.size, background_color)
69
+ background_image.paste(output, mask=output)
70
+ return background_image
71
+
72
+ # Если загружен фон
73
+ if background:
74
+ background_image = Image.open(background).resize(output.size)
75
+ background_image.paste(output, mask=output)
76
+ return background_image
77
+
78
+ # Если ничего не выбрано, возвращаем изображение без фона
79
  return output
80
 
81
  def count_objects(image):
 
180
  except Exception as e:
181
  return f"Ошибка перевода: {str(e)}"
182
 
183
+ # Создание интерфейса
184
+ with gr.Blocks() as demo:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
185
  # Заголовок с изображением
186
  gr.HTML("""
187
  <div style="text-align: center;">
 
192
  # Felguk News
193
  gr.Markdown("""
194
  ## Felguk News
195
+ **Последнее обновление:** 2023-10-25
196
  - Добавлена поддержка новых форматов файлов.
197
  - Улучшена производительность обработки изображений.
198
  - Исправлены ошибки в переводе текста.
 
218
  with gr.Tab("Удаление фона"):
219
  gr.Markdown("## Удаление фона с изображения")
220
  image_input = gr.Image(label="Загрузите изображение", type="pil")
221
+ background_input = gr.Image(label="Загрузите фон (опционально)", type="pil")
222
+ background_color_input = gr.ColorPicker(label="Выберите цвет фона (опционально)")
223
  remove_bg_button = gr.Button("Удалить фон")
224
+ image_output = gr.Image(label="Результат (без фона)", type="pil")
225
+ remove_bg_button.click(
226
+ fn=remove_background,
227
+ inputs=[image_input, background_input, background_color_input],
228
+ outputs=image_output
229
+ )
230
 
231
  # Вкладка Numage
232
  with gr.Tab("Numage"):