This does not reproduce all images accurately. In the following example, it is actually grossly inaccurate (resulting in black pixels where there should be white): 1. create a new 16x16 image 2. fill with black 3. select 1 pixel brush, paint isolated white dots 4. run wavelet decompose (options do not matter) All pixels where the average difference from their 4 neighbours is >127.5 will be mangled in the output[1]. I realize this is a limitation of grain-merge; Would it be possible to detect this problem and flag it to the user when it occurs? [1] for example, isolated pixels, non-corner parts of L-formations, exact 90degree or 45degree 1pixel lines. 'hat transform': Does this have anything to do with the top-hat transform? http://en.wikipedia.org/wiki/Top-hat_transform I played around with Scipy which includes both black and white top-hat transforms, but was unable to replicate the results.
Перевод примерно такой:
Этот метод не воспроизводит все изображения достоверно. В следующем примере, он, вообще-то, совсем недостоверен(пиксели, которые должны быть белыми, становятся черными): 1. создайте новое изображение 16х16 2. заполните его черным 3. выберите кисть диаметром 1 пиксель и нарисуйте белые точки так, чтобы они не соприкасались друг с другом 4. выполните частотное разложение(настройки не имеют значения) Все пикселы отличающиеся от 4 соседних больше чем на 127.5 будут в итоге искажены. Я обнаружил, что это результат ограничения режима слоя grain-merge; [дальше идут предложения о том, как сигнализировать пользователю о такой ситуации и т. п.].
Я не поленился проверить эту ситуацию и да, действительно такая проблема есть в наличии. Увеличенный в 3000 раз прямоугольник 16х16, о котором говорил автор комментария:
Photoshop Linear Light: R = S + 2(C — 128), в определении А. Журавлева
GIMP Grain merge: R = S + C -128, prooflink
Новая информация от А. Журавлева о том как этой проблемы можно избежать в Photoshop:
В качестве альтернативы High Pass надо:
- cделать две копии слоя с исходным изображением
- применить к нижней Gaussian Blur с желаемым радиусом
- к верхнему слою применить команду Apply Image, выбрав в качестве накладываемого изображения размытый слой, режим наложения — Subtract, в поле Offset ввести 128, в поле Scale ввести 2.
2 комментария:
Любопытно, а мужики то (чтай Журавлёв и пр.) не знают! И эти люди запрещают нам (Linux юзерам) ковыряться в носу... брр... Напыщенно рассказывая что только Мак да РПП это супер пупер, а остальное тем более линуксовое поделки любителей...
Не думаю, что "мужики" не знают. Просто проблема достаточно искусственная и в реальной жизни практически не возникающая. В смысле, получить такую фотографию, где были бы идеально белые точки на идеально черном фоне достаточно тяжело.
Насчет Мака и РПП -- да, наблюдаю форсирование этого тренда в ЖЖ с неизбывным интересом. Всё забавно.
Отправить комментарий