Генератор изображений - техническая тема, для программистов и интересующихся :)
Консольная версия генератора изображений на 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 Код:
$ sudo pip install requests 2. Запустить инсталлятор: Код:
$ sudo ~/quantummagic/install.sh 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 2. Взять свою аватарку в социальной сети и обработать БЖ 2.1 и 3.0N: Код:
$ ~/quantummagic/generator.py --url=https://pp.vk.me/c638216/v638216129/23415/Mmz_6cxnyIE.jpg --bj21 --bj30n Код:
$ ~/quantummagic/generator.py --coords=55.7498598,37.3523215 --zoom=12,9 --dusha --innerchild --elf Код:
$ ~/quantummagic/generator.py --list=list.txt --spec Все вопросы и сообщения о багах пишите сюда. |
Re: Простые волшебные вещи. Генератор изображений
а что если для простоты скомпилировать версию для windows в отдельный экзешник через cx_Freeze? тогда и необходимость установки интерпретатора отпадет.
|
Re: Простые волшебные вещи. Генератор изображений
Попробуйте :) исходник же открытый :)
|
Генератор изображений - техническая тема, для программистов и интересующихся :)
После танцев с бубном удалось все установить. У меня устройство хранения Synology на Линуксе, но там пришлось все по другому ставить.
Вроде все встало, но фото не обрабатываются, пишет ошибку: "Непредвиденная ошибка: не удалось обработать файл". Куда копать? |
Re: Простые волшебные вещи. Генератор изображений
Покажите команду полную.
|
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. |
Re: Простые волшебные вещи. Генератор изображений
Файлы при этом успешно скачиваются, я так понимаю? Попробуйте какой-нибудь локальный файл обработать.
|
Re: Простые волшебные вещи. Генератор изображений
Сейчас при установке на один из своих серверов случилась аналогичная ситуация, анализ показал, что не установлены нужные модули, apt install python-imaging решил вопрос. Убедитесь, что модули установлены - просто запустите python и наберите import Image. Если не ругнётся - значит, установлены, будем думать дальше.
|
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, он скачал файл апдейта и установил его. Может все же этот модуль не встал? |
Re: Простые волшебные вещи. Генератор изображений
Обновил до версии 1.03, ссылка та же, можно не переустанавливать, просто заменить файлы. Проверить версию можно запуском с ключом -v или --version. Теперь будет говорить внятно, если нет модуля. Также добавил режим отладки, включается ключом --debug, выдаваемые в этом режиме сообщения можно скопировать и написать мне, чтобы я понял, в чём проблема. Пробуйте :)
|
Re: Простые волшебные вещи. Генератор изображений
Цитата:
|
Re: Простые волшебные вещи. Генератор изображений
под windows встретил ту же самую ошибку: "ImportError: No module named Image".
помогла команда >pip install pillow (это замена команды sudo apt install python-imaging) и затем модификация секции импорта в файле qmig.py на from PIL import Image, ImageDraw, ImageFont |
Re: Простые волшебные вещи. Генератор изображений
Благодарю, обновил qmig.py в версии 1.04 и дополнил инструкцию.
И как оно под виндой, работает? :) |
Re: Простые волшебные вещи. Генератор изображений
Цитата:
далее при запуске видим ошибку: Код:
File "Python27\lib\subprocess.py", line 347, in __init__ Код:
stdin=PIPE, stdout=PIPE, stderr=subprocess.STDOUT Код:
File "quantummagic\generator.py", line 494, in <module> собираюсь написать GUI для вызова скрипта как только со всеми ключами ознакомлюсь. тогда иметь дело с командной строкой не придется в работе. плюс пытаюсь доделать полноценный инсталлятор на основе компилятора Boson. |
Re: Простые волшебные вещи. Генератор изображений
Понятно :)
Попробуйте просто в строке 294 в generator.py заменить close_fds=True на close_fds=False а не удалять часть строки :) Кодировку надо менять и самого файла, и указанную в заголовке исходника на второй строке. Цитата:
|
Re: Простые волшебные вещи. Генератор изображений
Цитата:
|
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Сделал обновление до 1.05, прописал
Код:
close_fds=(False if os.name == 'nt' else True) |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Цитата:
|
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Ну вот и я победил)). прилетело обновление Линукса на мой аппарат, заново установил imaging и все поехало)) (раньше на requests жаловался, хотя он был установлен).
Попробовал запускать на Python3, но там видимо синтаксис другой-> выдает ошибку на print __MESSAGES[message][lang]+opt |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Цитата:
Например, чтобы сохранить сообщения скрипта о справке в файл log.txt в директорию запуска скрипта пишем: Код:
generator.py --help > log.txt |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
А можно вопрос от чайника? :-)
Распаковал в домашний каталог, запустил инсталятор, он закачал под 400 М source, далее пытаюсь запустить справку. Команды пытаюсь копировать по-разному, не во всех случаях не получается ничего хорошего: Цитата:
У меня Xubuntu. Зашел под рутом (кажется, это так называется? :-) ) Заранее благодарю. И за советы, и за терпение к идиотским вопросам :-) |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
UPD: Вопрос уже не актуален, проблема разрешилась (я, правда, так и не понял, как она разрешилась :-) Куда-то щелкал, что-то устанавливал... Отсутствовало нечто под названием pip, поэтому команда sudo pip install requests не работала).
Сейчас все в порядке, Обработал снимки Москвы по образцу на 1 странице. Интересные ощущения, мозг шевелится :-) Сейчас запущу еще что-нибудь обрабатывать. Андрей, сотрите оба сообщения, плз. |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
По первой строке - $ копировать не надо :) этот символ в данном случае означает начало строки ввода и он автоматически присутствует, присмотритесь внимательно: vladimir@dfgbnfbdf:~$
В четвёртой строке неправильно указан путь. Корень файловой системы в линуксах это / а домашний каталог это /home/vladimir но также домашний каталог сокращённо обозначается ~ таким образом пути ~/quantummagic и /home/vladimir/quantummagic в вашем случае эквивалентны, но не путь /quantummagic - это означает папку quantummagic в корне. Вторая и третья строка правильные, но у вас не установлен модуль requests, как его установить, я писал в первом посте: Код:
sudo pip install requests |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Долго я отвечал :)
Зачем стирать? Думаю, кому-то может оказаться полезно. Заодно видно, что всё не так уж и страшно с линуксом, и можно разобраться и запустить :) А слелали, видимо, apt install pip :) |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Цитата:
Благодарю! |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Ну тут всё просто :)
pip - это название менеджера пакетов (модулей) питона. В питоне есть разные модули, обеспечивающие нужный функционал, вот для генератора нужен, в том числе, модуль requests. Соответственно, чтобы поставить модуль, нужно сначала установить менеджер. apt (он же apt-get) - это менеджер пакетов (приложений) линукса. В линуксе, в отличие от винды, когда вам нужна какая-то программа, вам не обязательно перерывать пол-интернета в поисках где её скачать (хотя таким способом тоже можно). Достаточно знать название и указать его менеджеру пакетов. Это как с программами для Панацеи :) Зная название, например, "Панацея-дом", вы можете "скачать и установить" данную программу, так и тут. Собственно, apt install pip "в переводе" означает: менеджер приложений apt, инсталлируй программу pip :) |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Вчера я попробовал; понял, что скорости моего компа явно недостаточно для сколько-нибудь масштабной обработки, и решил воспользоваться вот этой Вашей ссылкой.
Плясал с бубном весь день; начитался всяких разных мануалов, даже Vesta CP установил (кто-нибудь, скажите мне, зачем?? А потомушта что люди писали, что нада:-) )... Как бы то ни было, оно сейчас работает. И периодически ругается на меня вот такими словами и еще вот так вот. Особенно смущает буквальный перевод участка, который я обвел красным... :-) :-) :-) PS А при запущенной программе ее никак прервать нельзя? А то я ж не стал мелочиться и набор линков положил примерно из расчета на пару суток непрерывной работы; планировал, что там как раз SSD заполнится, я оттуда output скачаю и еще что-нибудь хорошее запущу. |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Вложений: 1
Прервать выполнение можно нажав ctrl+c. По крайней мере, в линуксовом терминале так. У вас, я так понимаю, putty под виндой? Там вроде так же.
Естественно, если просто закрыть окно терминала, то процесс не прервётся, и ctrl+c тогда уже нажимать негде :) Тогда надо зайти заново и сделать: Код:
$ killall generator.py (кстати, вставка скопированной строки в терминале линукса делается ctrl+shift+v, а в putty под виндой, если правильно помню, нажатием правой кнопки мыши в строке терминала) Ошибки говорят о том, что памяти не хватает. Попробуйте количество потоков и/или опций уменьшить. Как раз выбранные опции (спец, душа, ребёнок, эльф) - все очень нагрузочные, каждый поток с одной из этих опций сравним с несколькими десятками панацей, например. Ну и непонятно, чего вы там наставили, может, оно память жрёт :) Вообще, по установке там всё просто :) Опишу с нуля, как надо. Сначала нужно создать новый дроплет (старый удалите). Дистрибутив взять Убунту (он по-умолчанию выбран), размер для начала самый маленький (за 5$ в месяц), остальное оставить по-умолчанию. Больше ничего не надо. (На всякий случай сделал скрин.) Дальше заходите через ssh, устанавливаете новый рут-пароль (система потребует при первом входе это сделать), и делаете Код:
$ apt install python-imaging Далее, правильно будет создать отдельного пользователя: Код:
$ adduser username После этого появится также домашняя папка этого пользователя /home/username Заходим в эту папку, качаем генератор, распаковываем, устанавливаем: Код:
$ cd /home/username |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Странно, генератор при вводе координат генерирует серию разных масштабов хотя указан один масштаб?
|
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Команду, которой запускаете, покажите. Масштаб указывается ключом --zoom, подробнее смотрите в справке (--help).
|
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Запустил генератор на VPS, спасибо Saband за инструкцию! Правда, почему-то ручками пришлось доустанавливать пакеты. Но, ничего, разминка для мозгов :)
При работе генератора замечена ошибка: Processed: 55.7498598,37.3523215_google_9+Inner child.png Processed: 55.7498598,37.3523215_google_9+Elven.png Processed: 55.7498598,37.3523215_google_10+Soul.png Processed: 55.7498598,37.3523215_google_10+Inner child.png Unexpected error: unable to process file: /home/alex/quantummagic/output/55.7498598,37.3523215_google_10.png Processed: 55.7498598,37.3523215_google_11+Soul.png Processed: 55.7498598,37.3523215_google_11+Inner child.png Processed: 55.7498598,37.3523215_google_11+Elven.png Processed: 55.7498598,37.3523215_google_12+Soul.png Еще, при попытке выполнить команду sudo была ругань типа что рядовой пользователь не входит в файл sudoes... Все установки выполнял в руте. Я так понял, что надо этого рядового юзера включить в группу администраторы. Пока не разобрался как сделать это- или каким-то образом изменить его права и принадлежность или нафиг заново создать с соответствующими правами если можно :) И еще просьба- расскажите как можно быстро VPN поднять ? :) Благодарю! |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Вложений: 1
Ну если вы под рутом, то sudo писать не надо :) sudo означает superuser do, а рут и есть суперюзер.
VPN делается так. 1. Регистрируемся (кто уже - пропускаем этот пункт). 2. Создаём новый дроплет. При этом выбираем вкладку One-click apps и там Docker (версию самую свежую, на момент написания инструкции это Docker 1.13.1 on 16.04). См. скрин, если не понятно. Также есть смысл обратить внимание на физическое расположение датацентра (Choose a datacenter region), так как ваш ip-адрес после подключения будет соответствовать ip датацентра. 3. Заходим на сервер по ssh, устанавливаем рут-пассворд... в общем, всё стандартно. 4. Выполняем в консоли под рутом: Код:
$ CID=$(docker run -d --restart=always --privileged -p 1194:1194/udp -p 443:443/tcp umputun/dockvpn) Код:
$ docker run -t -i -p 8080:8080 --volumes-from $CID umputun/dockvpn serveconfig 6. Использованный файл используем в качестве конфиг-файла для openvpn-клиента. Всё :) Реально в наше время VPN - фактически необходимая вещь... |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Цитата:
За инструкцию спасибо! Буду разбираться... |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Попробовал сделать по инструкции. Выскочили ошибки.
Каких-то картинок не находит и репозитория. root@docker-512mb-lon1-01:~# (docker run -d --restart=always --privileged -p 119 4:1194/udp -p 443:443/tcp umputun/dockvpn) Unable to find image 'umputun/dockvpn:latest' locally latest: Pulling from umputun/dockvpn 765826873799: Pull complete e7a187926114: Pull complete fd01d4f3de3b: Pull complete c704fce22a3c: Pull complete a6a742cd33cf: Pull complete 36fae912e709: Pull complete 1639dfe3f927: Pull complete c3502b0494f9: Pull complete Digest: sha256:dd37d17d5f4d519ed0989145b2696892bf9140916c7 8463700490a4ce8a0ec28 Status: Downloaded newer image for umputun/dockvpn:latest b3e288ae2a9a8e16d90882cf60113846552016659c6b670862 374c14d33e9a4f root@docker-512mb-lon1-01:~# docker run -t -i -p 8080:8080 --volumes-from $CID umputun/dockvpn serveconf ig Unable to find image 'serveconfig:latest' locally docker: Error response from daemon: repository serveconfig not found: does not exist or no pull access. See 'docker run --help'. root@docker-512mb-lon1-01:~# |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
А скопировать ровно то, что я написал в инструкции - не? :) У вас первая же строка неправильно скопирована.
|
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
В версии 2.5.0.0 под Виндой (7) при установке кнопка выбора пути недоступна (серая). Т.е. ставится только в путь по умолчанию. У меня системный диск SSD, место критично. Пока так поставил.
|
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Да, путь при установке менять нельзя. Можно перенести после установки. Для этого достаточно переместить папку C:\Program Files\QuantumMagic\ в любое удобное место, а затем прописать вручную новый путь в:
- строке 108 в файле QuantumMagic\quantummagic.ini - строках 383, 473, 496 в файле QuantumMagic\php\php.ini |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Цитата:
В общем, победил это дело наполовину только. Запустил только из дома. С рабочего компа так и не удалось. Все нормально устанавливается, но на этапе подключения по ссылке через затык полный. Браузер говорит что страница отсутствует. Пинг тоже не идет. Затык на айпишнике 7.7.7.129. Успел попробовать на 2-х датацентрах - Лондон и Франкфурт. Результат одинаковый. Дома через Франкфурт получилось. |
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Кстати разобрался с масштабом (просто нужно указать не один а два масштаба 19,18 например).
|
Re: Генератор изображений - техническая тема, для программистов и интересующихся :)
Цитата:
|
Текущее время: 02:55. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot