MacroClub.Ru
http://macroclub.ru/club/

Не желаете потестировать? - 2
http://macroclub.ru/club/viewtopic.php?f=4&t=1025
Страница 1 из 21

Автор:  Gene [ Вт янв 30, 2007 5:03 pm ]
Заголовок сообщения:  Не желаете потестировать? - 2

Задался вопросом, как лучше сохранить детали фотографии при окончательном ресайзинге. Его я всегда делаю из картинки ровно в 4 раза больше по площади -- скажем, если окончательный вариант 1024*768, то "предпоследний", на котором окончательно доводится качество -- 2048*1536.

В связи с этим чуть ли не основной становится задача КАЧЕСТВЕННО уменьшить размер картинки в 4 раза, или в 2 раза по высоте и в 2 по ширине. Бикубический фильтр Фотошопа хотя и сводит на нет муар, но съедает и часть детализации. Метод "ближнего соседа" оставляет максимум деталей, но при этом как будто присыпает песком, при этом жутчайше муарит. До сих пор я пользовался для этой цели билинейным фильтром, но вот теперь решил соорудить нечто более продвинутое. Предлагаю вашему вниманию новый фильтр.

Пару слов о его работе. В отличие от Фотошопных бикубического и билинейного фильтров, он использует для конволюции матрицу с нечетным числом пикселей -- 5*5. Это дает новую принципиальную возможность сохранить главный "центральный" пиксель, который и дает основную деталицацию. В 5*5 матрице имеется 6 уровней удаленности от центра (включая центральный пиксель), поэтому в плагине 6 настраиваемых коэффициентов, каждый из которых может принимать значения от -100 до 100 -- это доля, которую пиксели, расположенные на данном уровне удаленности от центра, вносят в окончательное изображение. Отрицательные значения помогают увеличить локальный контраст, "подшарпить", если надо.

Используя удачную (для конкретного изображения) комбинацию коэффициентов, можно получить попиксельное качество значительно лучше, чем при использовании стандартных средств Фотошопа. Можно "эмулировать" Lanczos, Sinc и прочие продвинутые методы, гасить муар и так далее, все зависит от правильно подобранных коэффициентов интерполяции.

В фильтре есть 5 слотов для запоминания комбинаций значений -- кнопочка "S" сохраняет текущие коэффициенты в конкретный слот, "R" восстанавливает. Все сохраняется в файл C:/resize.ini, так что не удивляйтесь, если обнаружите его на диске :)

Остальное, в общем, не требует пояснений. Reset сбрасывает все 6 коэффициентов в ноль (но не трогает уже запомненные значения), Preview переключает изображение между оригиналом и в два раза увеличенным результатом. Единственное -- поскольку мой фильтр не умеет уменьшать общее количество пикселей в картинке, придется применять Canvas size 50%. Можно объединить все в один Action.

Взамен у меня будет к вам большая просьба: если удастся найти особо удачную, по-вашему, комбинацию коэффициентов -- прошу не держать ее в большом секрете :) Можно публиковать прямо в эту ленту. Спасибо!


Чтобы запустить фильтр, нужно:

Разархивировать, положить файл resize_controlled.8bf в директорию фильтров, напр. C:\Program Files\Adobe\Adobe Photoshop CS2\Plug-Ins\Filters

Запускать через меню Filter-->Sharpening-->Sharp 5x5 matrix 1/2 resize by Yevgeniy (Gene) Fedorov

Автор:  ajbo [ Вт янв 30, 2007 5:42 pm ]
Заголовок сообщения: 

очень понравился фильтр !!!!!!!
про значения ползунков не рискну советовать )))
да и пейзаж лесной и фото паучка потребовали разные значения ползунков поставить :) ,

у меня для пейзажа лесного получилась неплохо такая комбинация (для ВЕБ)
(3) (6) (2) (-4) (-1) (0)
при значении ползунка =1 на (разных К) часто пропадает предосмотр.. :?:

Автор:  Gene [ Вт янв 30, 2007 11:47 pm ]
Заголовок сообщения: 

ajbo писал(а):
очень понравился фильтр !!!!!!!
про значения ползунков не рискну советовать )))
да и пейзаж лесной и фото паучка потребовали разные значения ползунков поставить :) ,

у меня для пейзажа лесного получилась неплохо такая комбинация (для ВЕБ)
(3) (6) (2) (-4) (-1) (0)
при значении ползунка =1 на (разных К) часто пропадает предосмотр.. :?:


Спасибо!

Насчет пропадания превьюшки -- бывает такое, когда коэффициенты друг друга взаимно аннулируют... Ну и, конечно, когда везде нули.

Автор:  Gene [ Ср янв 31, 2007 4:57 am ]
Заголовок сообщения: 

Подготовил предварительный "джентельменский набор" -- комплект из пяти кернелей. Четкость все дают примерно одинаковую (повышенную), но слева направо в ряде кнопок увеличивается подавление муара за счет убирания мельчайших деталей. Пятый кернель уже напоминает бикубическую интерполяцию, хотя все равно дает больше деталей. Добавления и исправления приветствуются :) Чтобы применить комплект, надо закрыть окошко фильтра, открыть файл c:\resize.ini и заменить последовательность цифр на следующую (перезапускать Фотошоп не требуется):

0
9
27
30
-5
-22
-4
80
20
5
-5
-5
-5
74
32
11
-7
-12
0
15
21
-5
-5
-2
0
14
23
5
-5
-12
2
9
27
30
-5
-22
-4

Автор:  Mite [ Чт фев 01, 2007 10:31 pm ]
Заголовок сообщения: 

Вчера попробовал фильтр с использованием пяти предложенных кернелей. Общее впечатление весьма благоприятное, тем более что к нему было заочное доверие (ФШ постепенно "обрастает" фильтрами a la Gene :D ). Не было времени поэкспериментировать с ползунками, пока не могу вникнуть в смысл каждого из них, видимо придется не вникать, а методом тыка подбирать подходящий вариант, ориентируясь по превьюшке. Спасибо!

Автор:  Gene [ Чт фев 01, 2007 10:53 pm ]
Заголовок сообщения: 

Mite писал(а):
Вчера попробовал фильтр с использованием пяти предложенных кернелей. Общее впечатление весьма благоприятное, тем более что к нему было заочное доверие (ФШ постепенно "обрастает" фильтрами a la Gene :D ). Не было времени поэкспериментировать с ползунками, пока не могу вникнуть в смысл каждого из них, видимо придется не вникать, а методом тыка подбирать подходящий вариант, ориентируясь по превьюшке. Спасибо!


Спасибо за тестирование!
Вчера методом тыка подобрал еще один хороший кернель:

16,34,14,-4,-10,-3

Вот картинка, которая иллюстрирует работу фильтра:

Изображение

Цифры соответствуют коэффициентам. На каждом уровне вычисляется среднее значение пикселей под соотв. цифрой, затем полученные средние значения умножаются каждое на соотв. коэффициент, складываются и полученная сумма делится на сумму коэффициентов. Это и будет значение нового пиксела.

У меня пока не хватает математических мозгов, чтобы не "играть в Спортлото", а РАССЧИТАТЬ оптимальный кернель, например, базирующийся на Lanczos. Любой помощи по этому поводу буду очень рад.

Автор:  Mite [ Чт фев 01, 2007 11:04 pm ]
Заголовок сообщения: 

Gene писал(а):
У меня пока не хватает математических мозгов, чтобы не "играть в Спортлото", а РАССЧИТАТЬ оптимальный кернель, например, базирующийся на Lanczos. Любой помощи по этому поводу буду очень рад.

Увы помощи в этом вопросе предложить не смогу, у меня с математикой отношения (тоже?) весьма натянутые. То есть, я, конечно, математику люблю (в глубине души), но нет взаимности :D .

Автор:  Gene [ Ср фев 07, 2007 4:42 am ]
Заголовок сообщения: 

Новая версия 0.2

ЭТА ВЕРСИЯ НЕСОВМЕСТИМА С ПРЕДЫДУЩЕЙ!

Изменения:

1). Для облегчения подбора, коэффициенты к2,к3,к4, к5 и к6 теперь автоматически делятся каждый на число, пропорциональное их расстоянию до центрального пиксела, т.е:

к2 делится на 1;
к3 делится на √2;
к4 делится на 2;
к5 делится на √5;
к6 делится на √8.

2). Добавлен "глобальный" регулятор K. Им выбирается число, которое складывается с КАЖДЫМ коэффициентом. Удобно для общего регулирования шарпенинга, когда все основные коэффициенты уже подобраны. Значение К не записывается в файл.

3). число "ячеек памяти" увеличено до 10.

Для затравки могу предложить такую комбинацию:
k1=16
k2=16
k3= 8
k4=-8
k5=-6
k6=-3

K выставляется по вкусу, оптимально -- 0.

На этой картинке я начинал именно с этой комбинации. Муар на глазах удалось полностью подавить, уменьшив значение k1 до 9. Другие коэффициенты не трогал. Четкость несколько упала, хотя и не до "бикубического" уровня -- осталась примерно на уровне билинейного ресайзинга, возможно и четче.

Автор:  L-E [ Чт фев 08, 2007 8:53 pm ]
Заголовок сообщения: 

Не совсем понял, эта версия не ресайзит? При нажатии кнопки ОК ничего кроме шарпинга не наблюдается :(

Автор:  Gene [ Чт фев 08, 2007 9:58 pm ]
Заголовок сообщения: 

L-E писал(а):
Не совсем понял, эта версия не ресайзит? При нажатии кнопки ОК ничего кроме шарпинга не наблюдается :(


Как не ресайзит?.. Она должна оставлять в 2 раза уменьшенную копию картинки в левом верхнем углу. После этого нужно применить Canvas size 50%, чтобы удалить ненужное.

Автор:  L-E [ Чт фев 08, 2007 10:06 pm ]
Заголовок сообщения: 

Предыдущая версия так и делала, новая ничего не делает :(

Автор:  L-E [ Чт фев 08, 2007 10:46 pm ]
Заголовок сообщения: 

Стер плагин, запустил ФШ без него, затем снова установил. Все заработало! Качество ресайза хорошее, возможно подбирая коэффициенты можно добиться еще более высокого качества. Вырезание четвертушки в общем то не напрягает, но вот что реально неудобно, так это фиксированное уменьшение, приходится делать дополнительный ресайз до нужного размера, а это не есть хорошо. Есть ли в планах сделать произвольное задание размера окончательной картинки?

Автор:  Gene [ Пт фев 09, 2007 1:12 am ]
Заголовок сообщения: 

L-E писал(а):
Стер плагин, запустил ФШ без него, затем снова установил. Все заработало! Качество ресайза хорошее, возможно подбирая коэффициенты можно добиться еще более высокого качества. Вырезание четвертушки в общем то не напрягает, но вот что реально неудобно, так это фиксированное уменьшение, приходится делать дополнительный ресайз до нужного размера, а это не есть хорошо. Есть ли в планах сделать произвольное задание размера окончательной картинки?


Это в принципе возможно, но я не вижу смысла -- будет слишком медленно. Если можно сделать что-то встроенными средствами Фотошопа, это самый оптимальный вариант. Сам я просто наделал Actions под каждый фиксированный окончательный размер (по горизонтали). Скажем, для 800 пикселей выглядит так (изначально -- уже хорошо почищенный и цветокорректированный "печатный" файл 48 бит RGB):

1). бикубический ресайз: 1600пикс. по горизонтали.
2). nic sharpener или Unsharp mask, по вкусу
3) RGB --> Lab
4) мой фильтр градиентной постеризации
5) мой фильтр ресайзинга 1/2
6). Canvas size: width: 50%; height: 50%; Horizontal: left; Vertical: top
7). Lab -- RGB

Автор:  Dima DD [ Пт фев 09, 2007 4:25 am ]
Заголовок сообщения: 

Хорошая штука! :D
Однако, по-моему, над "глобальным" коэффициентом (числом K) надо ещё покумекать. Заметил, что его действие мощно (до весьма дискретного) в очень узком диапазоне (однако, смещающемся в зависимости от настройки других коэффициентов), но быстро ослабевает и ещё далеко от краёв становится практически незаметным (общая зависимость, вроде, напоминает Пик Победы, плавающий по равнине :) ). Похоже, что стоит этому коэффициенту дать дополнительный ползунок для "точной настройки" - он бы хорошо действовал на том промежутке, где K влияет наиболее сильно. Это должно быть проще, чем, скажем, анализировать положение этого "критического" промежутка (и "натягивать" K на какую-нибудь подходящую функцию с глубокой "ямой").

Автор:  Gene [ Пт фев 09, 2007 9:17 am ]
Заголовок сообщения: 

Как насчет сделать K=(K^2)/10? Поможет?

Страница 1 из 21 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/