123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- from thisapidoesnotexist import get_person
- import requests
- import time
- import os
- import random
- import pathlib
- import platform
- path_to_executable = ''
- if platform.system() == 'Windows':
- path_to_executable = str(pathlib.Path.cwd()) + '\\protection'
- else:
- path_to_executable = str(pathlib.Path.cwd()) + '/protection'
- if not os.path.isfile(path_to_executable):
- print("Не найден исполняемый файл нейросети. Загрузите или "
- "соберите его, а затем содайте в этой директории символьную "
- "ссылку на него с именем protection")
- print(f"Ожидаемый путь: {path_to_executable}")
- raise SystemExit(1)
- # FIXME - необходимо проверить на Windows
- cmd = f'{path_to_executable} -d /home/q/img2/'
- z = input('Сколько фотографий нужно скачать и обработать? ')
- chars = 'abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
- x = 1
- y = 1
- home = pathlib.Path.home() # Получаем домашнюю директорию пользователя
- target = None # Где будут сохранены фотографии
- path = '' # path string
- if isinstance(home, pathlib.PosixPath):
- target = pathlib.PosixPath(str(home) + '/img2')
- target.mkdir(exist_ok=True)
- path = str(target) + '/'
- else:
- target = pathlib.WindowsPath(str(home) + '\\img2')
- target.mkdir(exist_ok=True)
- path = str(target) + '\\'
- while (True):
- person = get_person()
- person.save_image(path + str(x) + ".jpeg")
- print("Скачали фото № " + str(x))
- time.sleep(3)
- if x == int(z):
- break
- else:
- x = x + 1
- print("Применяем нейронную сеть на фотографии, пожалуйста ждите...")
- if os.system(cmd + path) != 0:
- # Нейросеть может не запуститься по разным причинам. Самая банальная - бинарник
- # создан для другой платформы или архитектуры (у меня вернуло Illegal instruction (core dumped))
- print("Произошла ошибка при попытке запуска нейросети, команда:")
- print(cmd)
- raise SystemExit(1)
- print("Переименуем и удаляем лишнее")
- while (True):
- name = path + str(y) + ".jpeg"
- os.remove(name)
- file = path + str(y) + "_min_cloaked.png"
- rand =''
- for i in range(12):
- rand += random.choice(chars)
- file1 = path + rand + ".png"
- os.rename(file, str(file1))
- if y == int(z):
- break
- else:
- y = y + 1
- print("Программа завершена, можно шатать систему!")
|