Felguk commited on
Commit
1c38456
·
verified ·
1 Parent(s): 74a50ff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -98
app.py CHANGED
@@ -1,7 +1,7 @@
1
  import gradio as gr
2
  from huggingface_hub import InferenceClient
3
  import PyPDF2
4
- from PIL import Image, ImageEnhance, ImageFont, ImageDraw
5
  import cv2
6
  import numpy as np
7
  from pydub import AudioSegment
@@ -24,7 +24,7 @@ from googletrans import Translator
24
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
25
 
26
  # Загрузка предобученной модели для обнаружения объектов
27
- model = fasterrcnn_resnet50_fpn(pretrained=True)
28
  model.eval()
29
 
30
  # Функция для обработки PDF
@@ -174,92 +174,6 @@ def analyze_txt(file):
174
  text = process_txt(file)
175
  return f"Содержимое файла:\n{text}"
176
 
177
- # Функция для генерации изображения с текстом и шрифтом
178
- def generate_text_image(text, font_file, font_size=40, bg_color="#FFFFFF", text_color="#000000"):
179
- if not text:
180
- return "Введите текст."
181
-
182
- # Если шрифт не загружен, используем стандартный
183
- if font_file is None:
184
- font = ImageFont.load_default()
185
- else:
186
- # Если шрифт в архиве, извлекаем его
187
- if font_file.name.endswith(".zip"):
188
- with zipfile.ZipFile(font_file.name, 'r') as zip_ref:
189
- zip_ref.extractall("temp_fonts")
190
- font_files = [f for f in os.listdir("temp_fonts") if f.endswith(('.ttf', '.otf'))]
191
- if not font_files:
192
- return "В архиве нет файлов шрифтов (.ttf, .otf)."
193
- font_path = os.path.join("temp_fonts", font_files[0])
194
- font = ImageFont.truetype(font_path, font_size)
195
- else:
196
- font = ImageFont.truetype(font_file.name, font_size)
197
-
198
- # Создаем изображение с текстом
199
- image = Image.new("RGB", (800, 200), color=bg_color)
200
- draw = ImageDraw.Draw(image)
201
-
202
- # Рассчитываем позицию текста (по центру)
203
- text_width, text_height = draw.textsize(text, font=font)
204
- x = (800 - text_width) / 2
205
- y = (200 - text_height) / 2
206
-
207
- # Рисуем текст на изображении
208
- draw.text((x, y), text, font=font, fill=text_color)
209
-
210
- # Сохраняем изображение во временный файл
211
- with tempfile.NamedTemporaryFile(suffix=".png", delete=False) as tmp_file:
212
- image.save(tmp_file.name)
213
- return tmp_file.name
214
-
215
- # Функция для улучшения качества изображения
216
- def enhance_image(image, contrast_factor=1.5, brightness_factor=1.2, sharpness_factor=1.5):
217
- if image is None:
218
- return None
219
-
220
- img = Image.open(image.name)
221
-
222
- # Улучшение контраста
223
- enhancer = ImageEnhance.Contrast(img)
224
- img = enhancer.enhance(contrast_factor)
225
-
226
- # Улучшение яркости
227
- enhancer = ImageEnhance.Brightness(img)
228
- img = enhancer.enhance(brightness_factor)
229
-
230
- # Улучшение резкости
231
- enhancer = ImageEnhance.Sharpness(img)
232
- img = enhancer.enhance(sharpness_factor)
233
-
234
- # Сохраняем изображение во временный файл
235
- with tempfile.NamedTemporaryFile(delete=False, suffix=".jpg") as tmp_file:
236
- img.save(tmp_file.name)
237
- return tmp_file.name
238
-
239
- # Функция для обрезки аудио
240
- def trim_audio(file, start_time: float, end_time: float):
241
- if file is None:
242
- return "Файл не загружен."
243
-
244
- audio = AudioSegment.from_file(file.name)
245
- trimmed_audio = audio[start_time * 1000:end_time * 1000]
246
-
247
- # Сохраняем обрезанное аудио во временный файл
248
- with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as tmp_file:
249
- trimmed_audio.export(tmp_file.name, format="wav")
250
- return tmp_file.name
251
-
252
- # Функция для суммаризации текста
253
- def summarize_text(text: str, max_length: int = 100):
254
- summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
255
- summary = summarizer(text, max_length=max_length, min_length=30, do_sample=False)
256
- return summary[0]['summary_text']
257
-
258
- # Функция для поиска пространства на Hugging Face
259
- def search_space(author: str, space_name: str):
260
- url = f"https://huggingface.co/space/{author}/{space_name}"
261
- return url
262
-
263
  # Функция для изменения размера изображения
264
  def resize_image(image, width: int, height: int):
265
  if image is None:
@@ -387,15 +301,6 @@ with gr.Blocks() as demo:
387
  convert_button = gr.Button("Конвертировать")
388
  convert_button.click(fn=convert_image, inputs=[img_input, img_format], outputs=img_output)
389
 
390
- # Вкладка Felguk-SpaceSearcher
391
- with gr.Tab("Felguk-SpaceSearcher"):
392
- gr.Markdown("## Felguk-SpaceSearcher: Поиск пространства на Hugging Face")
393
- author_input = gr.Textbox(label="Имя автора")
394
- space_name_input = gr.Textbox(label="Название пространства")
395
- search_button = gr.Button("Найти пространство")
396
- space_url_output = gr.Textbox(label="Ссылка на пространство", interactive=False)
397
- search_button.click(fn=search_space, inputs=[author_input, space_name_input], outputs=space_url_output)
398
-
399
  # Вкладка Felguk-ImageResizer
400
  with gr.Tab("Felguk-ImageResizer"):
401
  gr.Markdown("## Felguk-ImageResizer: Изменение размера изображения")
@@ -445,7 +350,7 @@ with gr.Blocks() as demo:
445
  # Вкладка Felguk-PDFMerger
446
  with gr.Tab("Felguk-PDFMerger"):
447
  gr.Markdown("## Felguk-PDFMerger: Объединение PDF-файлов")
448
- pdf_files_input = gr.File(label="Загрузите PDF-файлы", file_types=[".pdf"], multiple=True)
449
  merge_button = gr.Button("Объединить PDF")
450
  merged_pdf_output = gr.File(label="Результат")
451
  merge_button.click(fn=merge_pdfs, inputs=pdf_files_input, outputs=merged_pdf_output)
 
1
  import gradio as gr
2
  from huggingface_hub import InferenceClient
3
  import PyPDF2
4
+ from PIL import Image, ImageFont, ImageDraw
5
  import cv2
6
  import numpy as np
7
  from pydub import AudioSegment
 
24
  client = InferenceClient("HuggingFaceH4/zephyr-7b-beta")
25
 
26
  # Загрузка предобученной модели для обнаружения объектов
27
+ model = fasterrcnn_resnet50_fpn(weights="DEFAULT")
28
  model.eval()
29
 
30
  # Функция для обработки PDF
 
174
  text = process_txt(file)
175
  return f"Содержимое файла:\n{text}"
176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  # Функция для изменения размера изображения
178
  def resize_image(image, width: int, height: int):
179
  if image is None:
 
301
  convert_button = gr.Button("Конвертировать")
302
  convert_button.click(fn=convert_image, inputs=[img_input, img_format], outputs=img_output)
303
 
 
 
 
 
 
 
 
 
 
304
  # Вкладка Felguk-ImageResizer
305
  with gr.Tab("Felguk-ImageResizer"):
306
  gr.Markdown("## Felguk-ImageResizer: Изменение размера изображения")
 
350
  # Вкладка Felguk-PDFMerger
351
  with gr.Tab("Felguk-PDFMerger"):
352
  gr.Markdown("## Felguk-PDFMerger: Объединение PDF-файлов")
353
+ pdf_files_input = gr.Files(label="Загрузите PDF-файлы", file_types=[".pdf"])
354
  merge_button = gr.Button("Объединить PDF")
355
  merged_pdf_output = gr.File(label="Результат")
356
  merge_button.click(fn=merge_pdfs, inputs=pdf_files_input, outputs=merged_pdf_output)