QuantumMagic

QuantumMagic (https://support.quantummagic.org/index.php)
-   Самоделки QuantumMagic/OpenMagic (https://support.quantummagic.org/forumdisplay.php?f=20)
-   -   Генератор изображений - техническая тема, для программистов и интересующихся :) (https://support.quantummagic.org/showthread.php?t=301)

saband 21.02.2017 11:28

Генератор изображений - техническая тема, для программистов и интересующихся :)
 
Консольная версия генератора изображений на python :)

Сначала, дабы мотивировать использовать его, расскажу, чем он лучше :)
1. Он быстрее. Сильно быстрее. Вообще охренительно быстрый. Я даже не знаю, во сколько раз - ну в 10 так точно. При этом он позволяет использовать большее количество потоков (да, естественно, он многопоточный) без столь ощутимой нагрузки.
2. Он позволяет обрабатывать, на выбор:
- отдельные файлы;
- файлы в указанных папках;
- координаты (загружает спутниковые снимки)...
...В прочем, это всё уже было :) а вот чего не было:
- можно обрабатывать картинки по ссылками в интернете, не скачивая и не сохраняя их - достаточно указать адрес ссылки;
- списки - это вообще мега-удобно :) можно создать обычный текстовый файл, а в нём указать список из локальных файлов и/или координат и/или ссылок (каждую запись с новой строки), и указать генератору этот файл-список - он автоматически распознает и обработает всё, что там есть :)
- всё вышеуказанное сразу :)

Если вас это не впечатлило, вы ничего не понимаете в обработке изображений... :D

Где взять? Вот тут: http://generator.quantummagic.org/py...antummagic.zip

Как пользоваться? Инструкция под Линукс:
0. В системе должен быть установлен python 2.7. Во всех линуксах, которые я видел, он есть по-умолчанию. А для питона должны быть установлены следующие модули: sys, locale, getopt, os, subprocess, re, mimetypes, time, requests, shutil, Image, ImageDraw, ImageFont. Не надо пугаться :) обычно они тоже есть по-умолчанию. Может не быть графических модулей, они ставятся так:
Код:

$ sudo apt install python-imaging
Или так (если предыдущий вариант не сработал):
Код:

$ sudo pip install pillow
Очень редко нет requests, ставится так:
Код:

$ sudo pip install requests
1. Распаковать скачанный архив, например, в домашнюю директорию (получим папку /home/username/quantummagic).
2. Запустить инсталлятор:
Код:

$ sudo ~/quantummagic/install.sh
Да, sudo обязательно, иначе он не сможет выставить нужные ему права. В процессе он также скачает необходимые для работы исходники накладываемых изображений (они весят 407 мегабайт), поэтому необходим доступ к интернету. Дальше он будет работать с ними локально и интернет будет нужен только для скачивания спутниковых снимков, ну и для обработки файлов по ссылкам.

3. Запустить и изучить справку:
Код:

$ ~/quantummagic/generator.py --help
Да, языков на данный момент поддерживается два: английский и русский, и язык определяется автоматически согласно настройкам ОС, но можно указать язык принудительно:
Код:

$ ~/quantummagic/generator.py --help --lang=ru_RU или --lang=en_EN
Предполагаю, что под макосью также будет работать без танцев с бубном и даже без изменений вообще. Протестируйте, у кого мак.

Под виндой, думаю, тоже заработает. Позже поставлю питон на виртуалку и проверю. Если заработает, напишу инструкцию. Или, может, кто-то из пользователей разберётся и сделает? :)

Далее, несколько примеров, чтобы показать, что всё не так страшно :)

1. Обработать все файлы в папке ~/quantummagic/input/ Панацеей:
Код:

$ ~/quantummagic/generator.py --dir=quantummagic/input/ --panacea
Или, в варианте с короткими ключами:
Код:

$ ~/quantummagic/generator.py -d ~/quantummagic/input/ -p
Вариантов ключей на каждую опцию много, это сделано для того, чтобы набирать интуитивно, а не лезть каждый раз в справку. Например, Панацея может быть указана так: -p или --pana или --panacea.

2. Взять свою аватарку в социальной сети и обработать БЖ 2.1 и 3.0N:
Код:

$ ~/quantummagic/generator.py --url=https://pp.vk.me/c638216/v638216129/23415/Mmz_6cxnyIE.jpg --bj21 --bj30n
3. Загрузить спутниковые снимки Москвы в масштабе всего города (в уровнях масштабирования это будет примерно от 12 до 9) и обработать тремя трансляционными опциями:
Код:

$ ~/quantummagic/generator.py --coords=55.7498598,37.3523215 --zoom=12,9 --dusha --innerchild --elf
4. Запустить обработку спецсредством файлов, спутниковых снимков и ссылок в интернете. Сначала подготавливается текстовый файл-список, где на каждой строке - имя файла или координаты или ссылка. А далее:
Код:

$ ~/quantummagic/generator.py --list=list.txt --spec
Изучив опции, можно одной командой запускать такие обработки, которые в версии с графическим интерфейсом делаются десятками копипастов и кликов :) Собственно, я его и сделал-то для себя, когда понял, что, если я хочу пройтись генератором, например, по всем столицам Европы :) то мне как-то лениво 44 раза копировать координаты, тыкать в нужные опции (особенно когда надо не одна) и постоянно нажимать кнопку. Ну а потом дописал справку, увидев, что крутая вещь получилась :)

Все вопросы и сообщения о багах пишите сюда.

AVi 21.02.2017 14:57

Re: Простые волшебные вещи. Генератор изображений
 
а что если для простоты скомпилировать версию для windows в отдельный экзешник через cx_Freeze? тогда и необходимость установки интерпретатора отпадет.

saband 21.02.2017 21:17

Re: Простые волшебные вещи. Генератор изображений
 
Попробуйте :) исходник же открытый :)

Аварт 22.02.2017 00:29

Генератор изображений - техническая тема, для программистов и интересующихся :)
 
После танцев с бубном удалось все установить. У меня устройство хранения Synology на Линуксе, но там пришлось все по другому ставить.
Вроде все встало, но фото не обрабатываются, пишет ошибку: "Непредвиденная ошибка: не удалось обработать файл". Куда копать?

saband 22.02.2017 00:36

Re: Простые волшебные вещи. Генератор изображений
 
Покажите команду полную.

Аварт 22.02.2017 00:47

Re: Простые волшебные вещи. Генератор изображений
 
ну вот например по вашей ссылке запустил:

root@DiskStation:/volume1/homes/admin# python quantummagic/generator.py --coords =55.7498598,37.3523215 --zoom=12,9 --dusha --innerchild --elf
Starting...
File loading: http://maps.googleapis.com/maps/api/...=55.7498598,37 .3523215&size=640x640&maptype=satellite&sensor=fal se&zoom=9 => 55.7498598,37.352 3215_google_9.png
File loading: http://maps.googleapis.com/maps/api/...=55.7498598,37 .3523215&size=640x640&maptype=satellite&sensor=fal se&zoom=10 => 55.7498598,37.35 23215_google_10.png
File loading: http://maps.googleapis.com/maps/api/...=55.7498598,37 .3523215&size=640x640&maptype=satellite&sensor=fal se&zoom=11 => 55.7498598,37.35 23215_google_11.png
File loading: http://maps.googleapis.com/maps/api/...=55.7498598,37 .3523215&size=640x640&maptype=satellite&sensor=fal se&zoom=12 => 55.7498598,37.35 23215_google_12.png
File loading: https://static-maps.yandex.ru/1.x/?z...l=sat&ll=37.35 23215,55.7498598 => 37.3523215,55.7498598_yandex_9.jpeg
File loading: https://static-maps.yandex.ru/1.x/?z...&l=sat&ll=37.3 523215,55.7498598 => 37.3523215,55.7498598_yandex_10.jpeg
File loading: https://static-maps.yandex.ru/1.x/?z...&l=sat&ll=37.3 523215,55.7498598 => 37.3523215,55.7498598_yandex_11.jpeg
File loading: https://static-maps.yandex.ru/1.x/?z...&l=sat&ll=37.3 523215,55.7498598 => 37.3523215,55.7498598_yandex_12.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_9.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_9.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_9.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_10.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_10.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_10.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_11.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_11.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_11.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_12.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_12.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/55.7498598,37.3523215_google_12.png
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_9.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_9.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_9.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_10.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_10.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_10.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_11.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_11.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_11.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_12.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_12.jpeg
Unexpected error: unable to process file: /volume1/homes/admin/quantummagic/outp ut/37.3523215,55.7498598_yandex_12.jpeg
Done.

saband 22.02.2017 00:55

Re: Простые волшебные вещи. Генератор изображений
 
Файлы при этом успешно скачиваются, я так понимаю? Попробуйте какой-нибудь локальный файл обработать.

saband 22.02.2017 01:29

Re: Простые волшебные вещи. Генератор изображений
 
Сейчас при установке на один из своих серверов случилась аналогичная ситуация, анализ показал, что не установлены нужные модули, apt install python-imaging решил вопрос. Убедитесь, что модули установлены - просто запустите python и наберите import Image. Если не ругнётся - значит, установлены, будем думать дальше.

Аварт 22.02.2017 01:39

Re: Простые волшебные вещи. Генератор изображений
 
запустил, вот что пишет:
>>> import Image
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Image
>>>
я устанавливал python-imaging не через apt, а через "sudo ipkg"
причем линуск ругнулся, что вместо install попробуйте update
я ввел sudo ipkg update python-imaging, он скачал файл апдейта и установил его.
Может все же этот модуль не встал?

saband 22.02.2017 02:17

Re: Простые волшебные вещи. Генератор изображений
 
Обновил до версии 1.03, ссылка та же, можно не переустанавливать, просто заменить файлы. Проверить версию можно запуском с ключом -v или --version. Теперь будет говорить внятно, если нет модуля. Также добавил режим отладки, включается ключом --debug, выдаваемые в этом режиме сообщения можно скопировать и написать мне, чтобы я понял, в чём проблема. Пробуйте :)


Текущее время: 03:42. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot