Будет ли снижение качества наносить ущерб качеству?

10

В Photoshop будет ли разница в качестве, когда растр уменьшен на 75% один раз, а не на 50%, уменьшен дважды ? В обоих случаях конечный размер будет одинаковым: 25% от оригинала.

Причина, по которой я спрашиваю, состоит в том, что иногда я хочу уменьшить изображение, которое, как я знаю, было уменьшено ранее. Ненавижу сто раз CTRL + Z (отменить) до состояния, в котором изображение было в исходном размере. Если конечное качество не будет затронуто, я бы предпочел просто уменьшить масштаб изображения прямо там и тогда.

JoJo
источник
1
Я предполагаю, что вы имеете в виду "50% один раз против 25% дважды"? Даже так (100%-75%)*(100%-75%) != 50%. Но я верю, что знаю, что вы имеете в виду, и ответ на этот вопрос - «нет», и вы действительно не сможете заметить разницу, если она есть.
Матин Улхак,
2
Не ответ, а возможное решение вашей проблемы в ⁋2: если возможно, преобразуйте слой, который вы собираетесь изменить, в смарт-объект, его можно масштабировать назад и вперед без каких-либо последствий для качества исходного файла.
Яри ​​Кейнянен
1
@muntoo Отредактировано, чтобы сказать 75% один раз и 50% дважды. 25% в два раза больше, чем 50% один раз.
JoJo

Ответы:

10

Это вики сообщества, так что вы можете исправить этот ужасный, ужасный пост.


Grrr, нет латекса. :) Я думаю, я просто должен сделать все возможное.


Определение:

У нас есть изображение (PNG или другой формат без потерь *) с именем A размера A x от A y . Наша цель - масштабировать его на p = 50% .

Изображение ( «массив») B будет «непосредственно масштабируется» версия А . Он будет иметь B s = 1 количество шагов.

A = B B s = B 1

Изображение ( «массив») C будет «постепенно масштабируются» версия А . У него будет C s = 2 количество шагов.

A ≅ C C s = C 2


Забавный материал:

A = B 1 = B 0 × p

C 1 = C 0 × p 1 ÷ C s

A ≅ C 2 = C 1 × p 1 ÷ C s

Вы видите эти дробные силы? Теоретически они будут ухудшать качество растровых изображений (растры внутри векторов зависят от реализации). Как много? Мы выясним это в следующем ...


Хороший материал:

C e = 0, если p 1 ÷ C s ∈ ℤ

C e = C s, если p 1 ÷ C s ∉ ℤ

Где e представляет максимальную ошибку (в худшем случае) из-за целочисленных ошибок округления.

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

Если мы используем Nearest Neighbor ( худший алгоритм для любого качества), «истинная максимальная ошибка» ( C t ) будет равна C e . Если мы используем любой из других алгоритмов, это усложняется, но не будет так плохо. (Если вам нужно техническое объяснение, почему это не будет так плохо, как «Ближайший сосед», я не могу дать вам одну причину, это всего лишь предположение. ПРИМЕЧАНИЕ: Привет, математики! Исправьте это!)


Возлюби ближнего твоего:

Давайте создадим «массив» изображений D с D x = 100 , D y = 100 и D s = 10 . р остается прежним: р = 50% .

Алгоритм ближайшего соседа (ужасное определение, я знаю):

N (I, p) = mergeXYDuplicates (floorAllImageXYs (I x, y × p), I) , где умножаются только сами x, y ; не их значения цвета (RGB)! Я знаю, что вы не можете сделать это в математике, и именно поэтому я не ЛЕГЕНДАТИЧЕСКИЙ МАТЕМАТИК пророчества.

( mergeXYDuplicates () сохраняет только самые нижние / самые левые x, y «элементы» в исходном изображении I для всех найденных им дубликатов и отбрасывает остальные.)

Давайте возьмем случайный пиксель: D 0 39,23 . Затем применяйте D n + 1 = N (D n , p 1 ÷ D s ) = N (D n , ~ 93,3%) снова и снова.

c n + 1 = этаж (c n × ~ 93,3%)

c 1 = пол ((39,23) × ~ 93,3%) = пол ((36,3,21,4)) = (36,21)

c 2 = пол ((36,21) × ~ 93,3%) = (33,19)

с 3 = (30,17)

с 4 = (27,15)

с 5 = (25,13)

с 6 = (23,12)

с 7 = (21,11)

с 8 = (19,10)

с 9 = (17,9)

с 10 = (15,8)

Если бы мы сделали простое уменьшение только один раз, мы бы получили:

b 1 = пол ((39,23) × 50%) = пол ((19,5,11,5)) = (19,11)

Давайте сравним b и c :

b 1 = (19,11)

с 10 = (15,8)

Это ошибка (4,3) пикселей! Давайте попробуем это с конечными пикселями (99,99) и учтем фактический размер ошибки. Я не буду делать всю математику здесь снова, но я скажу вам, что это становится (46,46) , ошибка (3,3) от того, что должно быть, (49,49) .

Давайте скомбинируем эти результаты с оригиналом: «реальная ошибка» равна (1,0) . Представьте, если это происходит с каждым пикселем ... это может в конечном итоге изменить ситуацию. Хм ... ну, наверное, лучший пример. :)


Вывод:

Если ваше изображение изначально имеет большой размер, это не будет иметь большого значения, если вы не сделаете несколько уменьшений (см. «Пример из реальной жизни» ниже).

Это ухудшается максимум на один пиксель за шаг (вниз) в ближайшем соседе. Если вы сделаете десять уменьшений, качество вашего изображения будет немного ухудшено.


Пример из реальной жизни:

(Нажмите на миниатюры для увеличения.)

Уменьшено на 1% с использованием Super Sampling:

оригинал Уменьшенный x1 Уменьшенный x10 Увеличить в уменьшенном виде x1 Увеличьте масштаб в 10 раз

Как видите, Super Sampling «размывает» его, если применять его несколько раз. Это "хорошо", если вы делаете один downscale. Это плохо, если вы делаете это постепенно.


* В зависимости от редактора и формата, это может иметь значение, поэтому я сохраняю это простым и называю это без потерь.

оборота мунту
источник
Вы приложили много усилий, лол .... + 1
Джек,
2
+1 за усилие ... -1000 за то, что мы, умные люди, будем читать все это. Я прокрутил до картинки :-). И вы сделали свою точку зрения.
Доусон
Отличный ответ, но я не уверен, насколько хороши примеры с использованием ближайшего соседа или суперсэмплинга; тем более что бикубическая интерполяция используется по умолчанию в Photoshop. Также я прочитал обратное при увеличении изображения: ступенчатое увеличение дает несколько лучшие результаты, чем универсальное увеличение: photo.stackexchange.com/a/3985/1913 Почему это не подходит для уменьшения?
Яри ​​Кейнянен
1
@koiyu Bicubic хуже, чем Supersampling, IIRC. При уменьшении масштаба изображение теряет данные. [Не совсем верно, но:] Большинство алгоритмов уменьшения масштаба предназначены для потери этих данных при удалении резкости ближайшего соседа, слегка «размывая» края. Это размытие складывает. [Угадайте] Если изображение увеличивается, оно «рекурсивно» улучшается. Могу поспорить, что существует алгоритм (ы), в котором это рекурсивное качество, хотя и дорогое в ЦП, производит меньше размытия изображения, чем при одновременном увеличении масштаба. [/ Guess]
Mateen Ulhaq
Проклятие imgur за удаление моих изображений после бездействия. Кто-нибудь знает услугу, в которой изображения являются «постоянными»?
Матин Улхак
5

JoJo спрашивает о качестве. Большинство ответов о точности пикселей , что практически не имеет значения для дизайнера или даже фотографа.

Качество - это показатель того, насколько убедительным и приятным является конечный результат, а не то, насколько он «точен». В качестве отличного примера можно привести клонирование или заполнение содержимым, заменяя нежелательные части изображения правдоподобными пикселями: они выглядят правильно, но их нельзя считать точными.

В Photoshop основное практическое различие между постепенным уменьшением и уменьшением размера за один снимок состоит в том, что это занимает намного больше времени. Если вы заряжаете по часам, во что бы то ни стало переходите на 1% за раз. Если нет, уменьшите размер за один выстрел. Сначала сделайте изображение смарт-объектом, если вы когда-нибудь захотите сделать большую версию позже.

Независимо от того, какой алгоритм вы используете (а комментарий Доусона об этих алгоритмах мертв - они потрясающие), сокращение приводит к выбрасыванию пикселей. Алгоритм вычитает пиксели и модифицирует другие, угадывая, как заставить их выглядеть правильно. Хороший алгоритм дает хорошие догадки; это дает вам результат, который выглядит убедительным, но он не является точным в каком-либо значимом смысле. Честно, аккуратно - кроме цвета! - это не то, что вы ищете, если вы не ученый, в этом случае вы, вероятно, не будете сокращаться в первую очередь.

Изображение, которое было уменьшено с помощью обычного бикубического алгоритма, часто получает небольшую резкость, но если вы создаете JPEG для Интернета, резкость увеличит размер файла.

Правильное качество дизайна - это качество, которое вам нужно для вашего конечного продукта. Все, что выходит за рамки этого, добавляет время, но не ценность, к вашей работе.

[Редактировать: Поскольку было упоминание об увеличении в возрождении koiyu этого вопроса. Я добавил несколько комментариев на эту тему.]

Возникает идея, что если вы увеличите изображение маленькими шагами, в отличие от одного гигантского скачка, вы получите чуть лучший («чуть менее плохой» будет более точный) результат. Скотт Келби продвигал эту идею несколько лет назад, и, возможно, она была верна для PS 7. Я не видел ничего, что убедило бы меня в том, что сегодня это правильно. Это не подтвердилось в моих собственных тестах, когда речь шла о PS CS2 и 3, но нужно сказать, что я не тратил на них много времени.

Я не тратил время на глубокое тестирование, потому что небольшая разница между «ухудшенным качеством изображения» и «чуть менее ухудшенным качеством изображения» не имеет практической ценности: ни один из них не применим. В моей собственной работе мое простое правило: «Не увеличивай размеры». С практической точки зрения в работе по проектированию, изображение с слишком низким разрешением для определенной цели всегда выглядит лучше, если оно используется как есть, чем то же изображение, «увеличенное» до «правильного» разрешения любым процессом, который у меня есть. попадаются, в том числе фрактальные и бикубические вариации.

Алан Гилбертсон
источник
«Если вы заряжаете по часам, во что бы то ни стало, переходите на 1% за раз». ... Unorthodox? :)
Матин Улхак
Кстати, не воспринимается ли «размытие», сделанное алгоритмами уменьшения масштаба специально?
Матин Улхак
Бикубика не размывается намеренно, но легкое смягчение является распространенным артефактом. Когда это происходит, скромная резкость исправляет это.
Алан Гилбертсон
1
@muntoo: «Если вы заряжаете по часам ...» - это мягкий сарказм, который часто встречается в дискуссиях о рабочих процессах проектирования, чтобы подчеркнуть, что неэффективное и расточительное использование рабочего времени неэффективно и расточительно.
Алан Гилбертсон
+1 Много хорошего: «Качество - это мера того, насколько убедительным и приятным является конечный результат, а не то, насколько« точным »он является». «Точный ... это не то, что вы ищете, если вы не ученый "," небольшая разница между "ухудшенным качеством изображения" и "немного менее ухудшенным качеством изображения" не имеет практической ценности "
Farray
3

Как правило, многократное масштабирование снижает качество по сравнению с одним масштабированием до конечного размера, но зачастую разница будет минимальной. В частности, масштабирование меньше по точным соотношениям, таким как ваш пример (2: 1, 2: 1) по сравнению с (4: 1), будет иметь очень небольшое ухудшение по сравнению с одиночным масштабированием. Конечно, лучше всего делать все изменения в самом высоком разрешении, а затем в конце масштабировать только один раз. Когда точное масштабирование первоначально не известно, можно выполнить серию тестовых масштабов, чтобы найти правильный размер, затем записать размер, выбросить тестовое изображение и выполнить одиночное масштабирование до этого размера от оригинала.

mgkrebbs
источник
1
Вы говорите, что постепенное масштабирование хуже, но есть ли теоретическое доказательство?
JoJo
1
Я просто снял скринкейп со своей установкой с несколькими мониторами, а затем использовал Photoshop для масштабирования одной версии до 25% и одной 50, а затем 50. Два результата были идентичны по пикселям. Я был удивлен
Горацио
@Jojo: У меня нет теоретического доказательства (и оно будет зависеть от того, какой из нескольких алгоритмов интерполяции использовался при масштабировании). Я думаю, что вы могли бы показать это практически: возьмите нетривиальное изображение, скажем, 400x400, масштабируйте его до 380px, до 360 и до 340. Сравните его с масштабом от оригинала до 340px. Я не пробовал это, но я думаю, что будет еще большее размытие, хотя это может быть не так уж визуально ощутимо. Обратите внимание, что предлагаемое масштабирование не использует хорошие отношения.
mgkrebbs
1
Я сделал упражнение. Вот 1-масштабная версия и 3-кратная версия . Вы можете увидеть потерю деталей в тонких линиях нижней середины. С зумом, вы можете увидеть подобное во многих местах. Это была кубическая интерполяция через Gimp, в которой использовались файлы PNG, чтобы избежать сжатия с потерями.
mgkrebbs
1

Этот вопрос УДИВИТЕЛЬНЫЙ! ... Я думаю, что мы все слишком технические.

100 х 100 пикселей изображения = 10000 пикселей

Уменьшение изображения вытягивает пиксели. Масштабирование добавляет их. В любом случае программное обеспечение принимает "обоснованное предположение", чтобы изменить файл.

Однократное уменьшение: 90 х 90 (удалено 1900 пикселей из исходного файла информации)

2 ступенчатое уменьшение: 95 x 95 (удалено 975 пикселей), 90 x 90 (еще 925). Здесь нужно обратить внимание на детали из удаленных 1900 пикселей - 975 из них НЕ были частью исходной информации .

Оригинальное изображение всегда лучшее. Меньшее количество «поколений» всегда означает лучшее качество (наиболее близкое к исходному качеству).

ДОКАЗАТЕЛЬСТВО (и ответ на комментарий @ mutoo)

введите описание изображения здесь

Это просто ... это алгоритм ... это не набор человеческих глаз. Здесь есть 3 цвета. 100% черный, 50% черный и белый (изображение в оттенках серого). Независимо от того, как я масштабирую его - меню размера изображения, инструмент преобразования, RGB, CMYK, 100 x 100px, 10 x 10in, результаты одинаковы:

Вдоль черного / серого края вы найдете 80% черного (цвет, который не существует). Вдоль белого / серого края вы найдете 7% черного (не существует). [здесь не приглашение к аргументу против псевдонима]

Как мы все знаем (будучи человеком и всем остальным), идеальное уменьшение или увеличение позволило бы создать чёрную / серую / белую полосатую коробку. И я все еще обнаружил, что одна итерация (вверх или вниз) создала лучшую копию, чем несколько.

Доусон
источник
Часть о «НЕ часть оригинальной информации» не совсем верна. Например, алгоритм Nearest Neighbor никогда не изменяет значения пикселей; удаляет только выбранные пиксели. В конечном итоге «неправильные пиксели» начинают удаляться из-за целочисленных ошибок округления, поэтому качество ухудшается. Между тем, «лучшие» алгоритмы могут смешивать цвета пикселей, а некоторые алгоритмы масштабирования пиксельной графики могут даже принимать «догадки». Это приводит к размытию, что желательно при уменьшении масштаба, но не нескольких.
Матеин Улхак,
[продолжение] Ближайший сосед все еще хуже: он удаляет «неправильные пиксели» и делает ваше изображение действительно странной лестницей (вид сверху).
Матеин Улхак,
Возвращает меня к моим дням со стат-камерой - создайте / снимите в нужном вам размере для наилучшего воспроизведения. Большое спасибо людям, которые пишут эти алгоритмы ... «Давайте создадим ОДНУ вещь, которая будет обрабатывать ВСЕ и заставлять ее действительно хорошо выглядеть в 99% случаев». <- довольно хардкорные вещи, серьезно.
Доусон
-1

Скорее всего, да, но в большинстве случаев вы даже не сможете заметить разницу.

Редактировать: я вижу, что людям не нравится мой ответ :). Может потому что все просто. ИМХО, это не делает его менее правдивым. Ну ... докажи, что я не прав :).

Редактировать 2: я хотел, чтобы мой ответ был кратким, но ... :)

В: Будет ли разница в качестве в Photoshop, если растр уменьшать на 75% один раз, а не уменьшать на 50% дважды? В обоих случаях конечный размер будет одинаковым: 25% от оригинала.

A:

  1. «Скорее всего, да» - посмотрите на пост muntoo. Он говорит, что каждый шаг интерполяции вносит некоторые незначительные ошибки. Они являются ошибками округления или представления и могут способствовать ухудшению качества. Простой вывод: больше шагов, больше возможной деградации. Таким образом, «наиболее вероятное» изображение будет терять качество при каждом шаге масштабирования. Больше шагов - больше возможного ухудшения качества. Таким образом, «наиболее вероятное» изображение будет более ухудшено, если масштабироваться в два раза больше, чем в одном. Потеря качества не вызывает сомнений - возьмите одноцветное изображение, например, но как часто любой дизайнер будет масштабировать подобные изображения?

  2. «но в большинстве случаев вы даже не сможете заметить разницу», - опять же, пост muntoo. Насколько велики потенциальные ошибки? В его примерах изображения масштабируются не в 2, а в 75 шагов, а изменения качества заметны, но не драматичны. В 75 шагов! Что происходит, когда изображение масштабируется до 25% в Ps CS4 (бикубический, образец muntoo, масштабируется в один и два шага соответственно)?

в один шаг в два этапа

Кто-нибудь может увидеть разницу? Но разница есть:

#: gm compare -metric mse one-step.png two-step.png Image Difference (MeanSquaredError):
           Normalized    Absolute
          ============  ==========
     Red: 0.0000033905        0.0
   Green: 0.0000033467        0.0
    Blue: 0.0000033888        0.0
   Total: 0.0000033754        0.0

И это можно увидеть, если правильно пометить (gm сравнить -highlight-color purple -file diff.png one-step.png two-step.png):

разница между одним и двумя шагами

1 и 2 дает мой ответ, который я надеялся сохранить кратким, так как другие были довольно сложными;).

Это оно! :) Судите сами.

thebodzio
источник
1
-1 потому что это не настоящий ответ. "вероятно, да" ... на основании чего ? «Вы не сможете заметить разницу» ... этот сайт QA предназначен для профессионалов дизайна , которые являются именно теми людьми, которые заметят незначительные различия в изображениях. Если вы удалите неподдерживаемую теорию и неподдерживаемое утверждение, в вашем посте не останется другого контента.
Фаррей
Исходя из моего опыта. Ты пробовал это? Хороший профессионал знает, когда использовать приближение вместо того, чтобы пытаться подсчитать, отличается ли цвет на долю процента :)
thebodzio
Я имел в виду: пытались ли вы постепенно сэмплировать некоторое изображение вниз и сравнить результаты с изображением, пересчитанным за один шаг? Я не придерживаюсь вашего опыта.
thebodzio
1
Разработка @thebodzio действительно помогла этому ответу - и поскольку отрицательные отзывы не являются постоянными, я удалил свою.
Яри ​​Кейнянен