Другое > Hard'n'Soft
Апскейл кучи картинок через батник?
(1/1)
Vivi the Black Mage:
Имеется куча изображений различных видов. Нужно сделать апскейл оных в полтора скопом, чтобы потом не было "мыла". Можно ли как-нибудь замутить подобное через батник?
cptPauer:

--- Цитата: Vivi the Black Mage от 28 Октябрь 2015, 20:53:31 ---Имеется куча изображений различных видов. Нужно сделать апскейл оных в полтора скопом, чтобы потом не было "мыла". Можно ли как-нибудь замутить подобное через батник?

--- Конец цитаты ---
Смотря что ты понимаешь под мылом. Но можешь, конечно.
Берёшь какой нибудь ImageMagick http://www.imagemagick.org/script/convert.php
Пишешь скрипт типа:

--- Код: ---for %%I in (pics\*.png) do ImageMagick.exe -convert "%%I" -resize 150% "converted\%%~nI.png"
echo Done!
pause
--- Конец кода ---
Ну, примерно так. Завист от того, какие комманды у проги. Лениво качать и проверять. Там написано всё на сайте, какие комманды.

Ну и куча консольных апскейлеров есть, от Scale2х и т.п., до HQx2 и XBR - алгоритмы на любой вкус. Скрипт к ним написать примерно так же.
Но это больше, если у тебя пиксельарт, а не фото. Для фото юзай какой-нибудь ланцош или бикубик шарпен. 
Я бы скинул эти для пиксельарта, но нет сейчас с собой. Гуглятся, конечно.
Вроде бы в ImageMagik встроено большинство, но наверняка не скажу.
Вроде бы scale3x через -magnify -magnify -resize 75% и т.п.

И вообще, это все можно сделать и не через батник а, скажем, фотошоп. Там есть автоматизация. Делаешь экшн в котором ресайзишь картинку так, как тебе нужно. Потом, через File-Automate-Batch натравливаешь на все картинки.
Vivi the Black Mage:
У меня как раз-таки пиксельарт.
-v-:
фотошоп типа умеет экшоны писать, сел один раз записал список действий, натравил на папку с остальными файлами и пошёл пить компот.
cptPauer:

--- Цитата ---У меня как раз-таки пиксельарт.
--- Конец цитаты ---
Ну тогда лазишь по сайтам вроде:
http://vdnoort.home.xs4all.nl/emulation/2xsai/
http://www.hiend3d.com/hq4x.html
и собираешь консольные апскейлеры. Потом пишешь одну-две строчки батника и профит.
Но ты же понимаешь, что тебе поуродует пиксельарт увеличением, если не методом "ближайшее соседнее" и в кратном размере. Будет либо мыло, либо аля рисунок, либо среднее нечто.

Только в полтора раза не получится. Там от алгоритма зависит.
scale2x, например, увеличит ровно в 2 раза. Конечно, ты потом можешь потом даунскейлить до полтора (через ланцош2 или бикубик шарпен) или как угодно. Качество пострадает, ясное дело.

Где то была фриварная прога ImageResizer-r129, она с GUI и включает в себя уже кучу алгоритмов. Можно на ней подобрать тот, который устроит и потом уже искать его консольную версию.
Имхо, только scale2x более менее похож на оригиал, остальные делают а-ля рисованная или векторная графика.

Вообще, если тебя устраивают алгормы не для пиксельарта, а универсальные типо Ланцош3, бикубик и т.п. то можешь заюзать FastStone Image Viewer http://www.faststone.org/ Там есть удобный конвертер и пакетный режим обработки. Умеет ресайзить (Tools -> Batch Convert.. -> Use Advanced Options -> Advanced Options -> Resize -> Filter (выбрать фильтр, там же задается и процент от исходного).
Да и сам по себе FastStone Image Viewer удобная вещ, даже без конвертера картинок.
Но у них и отдельная, более простая прога есть для пакетной конвертации картинок.

А еще IrfanView еще большее может, обрезать и прочее. В пакетном режиме, конечно.
Heidr:
Поддерживаю FastStone Image Viewer, я им часто для подобного пользуюсь.
Lost Soul:
А есть подобное решение для фото? Есть много старых фото, которые достаточно четкие но разрешение низковато и видно, что цвет не 24 битный, а 16-ти. Короче нет плавных переходов цветов.
Vivi the Black Mage:
-v-, в фотошоп не умею.
cptPauer, слишком много непонятного. Придется разбираться.
paul_met:
В IrfanView всё понятно: Файл => преобразовать\переименовать группу файлов. Добавляем нужные картинки в окно, ставим галку с доп. установками и в установках выставляем нужные действия. Выбираем формат и выходную папку. Вуаля.
cptPauer:

--- Цитата ---в фотошоп не умею.
--- Конец цитаты ---
Вообще, или обрабатывать сразу много файлов? Если второе, то там просто на самом деле, экшены не вручную пишутся. Просто делаешь как обычно и оно записывается в экшен. А потом File-Automate-Batch, там выбираешь экшен и натравливаешь на все картинки. Идешь пить чай/кофе/шампанское


--- Цитата ---cptPauer, слишком много непонятного. Придется разбираться.
--- Конец цитаты ---
Ну ладно, вот на конкретном примере:
https://yadi.sk/d/OcxJhju-k6Fig

кладешь картинки в папку pics (в формате PNG) и запускаешь upscale_scale2x.cmd или upscaler2xsai.cmd.
Я пример уже положил. Оно сконвертится в папку converted.

Теперь разберем код:
@echo off
отключает вывод комманд на экран

mkdir converted\temp\ 
mkdir pics\
создает папку temp (на всякий случай, если апскейлер не умеет)

for %%I in (pics\*.png) do convert.exe "%%I" "converted\temp\%%~nI.bmp"?
Тут юзается Basic Image Converter http://sourceforge.net/projects/basicimgcnvt/
чтобы переконвертить PNG в BMP т.к. апскейлер 2XSai принимает только BMP.
Соответственно, если у тебя там jpg или прочее, то подменяешь код на for %%I in (pics\*.jpg) и т.п.

for %%I in (converted\temp\*.bmp) do 2XSAI.EXE "%%I" "converted\%%~nI.bmp"
вот тут, через коммандную прогу 2XSAI.EXE обрабатывает все BMP папке temp

del /f /q converted\temp\*.* >nul
чистит папку темп


Scale2x умеет открывать PNG, поэтому ему подаешь их не конвертируя до этого, просто таким скриптом:

--- Код: ---@echo off
mkdir converted\temp\
mkdir pics\
for %%I in (pics\*.png) do scalex.exe -k 2 "%%I" "converted\%%~nI.png"
echo Upscale file is ready
echo.
pause
--- Конец кода ---

Потом уменьшаешь через Faststone-фотошоп-irfanview и т.п. если сильно необходимо. Или через имейжмэджик заскриптовать, если надо все автоматически.
Т.е. так как тебе надо получается примерно так:



В примере только алгоритмы 2xSai и Scale2x. Остальные по аналогии ищешь и добавляешь в скрипт, читаешь к ним хелп по коммандам. Но обычно "ПРога -входной файл -выходной файл"
black jaguar:

--- Цитата: cptPauer от 29 Октябрь 2015, 10:51:47 ---Ну ладно, вот на конкретном примере:
https://yadi.sk/d/OcxJhju-k6Fig

--- Конец цитаты ---
upscaler2xsai.cmd
win7 64
cptPauer:

--- Цитата ---upscaler2xsai.cmd
win7 64
--- Конец цитаты ---
А, ну да - 2xsai старый и прога ещё 16 битная, на 64битах не работает.
[del]

UPD: Я только теперь заметил, что Image Resizer поддерживает аргументы для коммандной строки!! А это значит, что это самый универсальный ресайзер пиксельарта и можно обрабатывать кучу картинок через скрипты.

Вот: https://yadi.sk/d/uN2Mdh4Qk7Grf
Положить картинки в папку pics. Запустить один из файлов cmd. Например, upscale_XBR.cmd. Картинки апскейлятся в папку converted.
Запустив скипт all-in-1.cmd, сразу несколькими и можно потом выбрать как симпотичнее.

Если нужно определенного размера, например 150%, то нужно апскейлить, скажем, XBR или ScaleX и потом уменьшить до нужного через Faststone Image Viewer (или другое что-то) фильтром по ланцош2 (sharpen). Может получится довольно неплохой результат.

Vivi the Black Mage:
paul_met, можно там как-нибудь еще и прозрачность пустых мест выставлять? А то там теперь чернота.
paul_met:

--- Цитата: Vivi the Black Mage ---paul_met, можно там как-нибудь еще и прозрачность пустых мест выставлять? А то там теперь чернота.
--- Конец цитаты ---

Ну это в настройках формата ставится. Выбираешь PNG и ставишь галку "сохранять прозрачный цвет".
Vivi the Black Mage:
paul_met, понятно, спасибо.
Partsigah:
F3 в тотальнике, затем ctrl+B.
Vivi the Black Mage:
Partsigah, спасибо.
Навигация
Главная страница сообщений

Перейти к полной версии