Всем хочется сделать некоторые вещи побыстрее. Мне надоело генерировать изображения вручную, а так как у меня нет серверов (и денег), настало время автоматизации!

Сначала я долго и чрезвычайно старательно пытался решить проблему умными методами: запросами там... Но в итоге (после месяца бесполезных мучений) я решил использовать графический интерфейс и pyautogui.

Начнём с создания промптов (по русски - запросов). Первый файл из репозитория это promptengineer.py. Он составляет .txt файл просто умопомрачительных размеров. Вы можете отрегулировать его размер количеством запросов в нём. Далее необходимо запустить datafromtxt.py для формирования файла data.pickle (точно такого же как и .txt файл размера). Теперь текстовый файл можно удалять, и работать с kand.py. Его запуск даёт вам некоторое время на переход в !НОВОЕ! окно firefox. Там вам необходимо открыть окно загрузок и развернуть на полный экран, и после вновь перейти на новое окно firefox. Скоро начнётся выполнение программы: открытие вкладки, переход на необходимый сайт, выбор стиля, написание запроса, и так далее. К сожалению, везде разный интерфейс, и потому я оставляю mouselistener.py для того, чтобы в случае "тыков" в неправильные места вы могли корректировать их координаты. Файл при запуске будет выводит координаты ваших кликов в консоль, и вы сможете изменить координат кликов в программе.

Более подробно

Сначала о запросах. С помощью random.choises([],[]) мы выбираем для каждой поозиции запроса один из вариантов, и "собираем" его воедино. После происходит запись в файл и генерация нового запроса.

В участке

count = 0
while count < 64000000:

достаточно изменить число 64000000 на меньшее, чтобы уменьшить количество запросов. Однако это число - минимальное количество всех возможных запросов, и даже в нём некоторые могут повторяться.

Следующий файл использует pickle для создания файла с запросами. Его работа очень проста, и не требует пояснений.

А теперь - главное: программа для, собственно, генерации. Код выполнен с подробными пояснениями, практически на каждую строчку. Без функции main001() вы можете использовать её и в других целях. Используются библиотеки time, pyautogui. В итоге вы получите множество изображений по запросам. Вам остаётся лишь отфильтровать Шестипалых, Глазоголовых и Многоногих и можно наслаждаться сотнями (тысячами (миллионами)) изображений неплохого качества. В случае, если программа тыкает не туда, вы можете исправить код, узнав необходимые координаты с помощью mouselistener.py.

Вот несколько примеров генераций:

Удачного использования!

Комментарии (2)


  1. Zara6502
    21.07.2023 16:25
    +3

    за всех не скажу, но когда я ищу картинки (генерирую запросы и получаю результаты), то сидеть у монитора и смотреть на результат - неизбежная необходимость, ибо важным тут является не картинка а сам запрос. можно конечно получившийся запрос сохранять, набрав с десяток, но мне не нужны 10000 картинок по одному запросу, обычно 3-5 картинок и запрос меняется, а вот на какой - никто заранее не знает - творчество-с.


    1. Kir001 Автор
      21.07.2023 16:25

      Ну так у меня запросы и не будут повторяться - их больше 60 миллионов. Просто не всегда бывает удачный запрос. Тем более можно изменить генератор запросов, и получить много вариаций, делающих изображение особенным.