понедельник, 27 августа 2012 г.

Интерполяционное разрешение фотографии

На календаре 2012-й год. Через несколько месяцев у нас конец света, к которому мы с вами готовимся уже более 10-ти лет. Миллионы людей по всему миру выкидывают старые телефоны и покупают новые со встроенным фотоаппаратом, выкидывают или отправляют на чердаки старые пленочные фотоаппараты и покупают новенькие цифровые. Появилось куча сайтов, на которых фотолюбители всего мира обмениваются опытом. И все это только для того, что бы заснять конец света, запечатлить его в архивах цифровой памяти. Кто-то попытается возразить и скажет, что занимается фотографией с другими целями. Это всего лишь  самообман - какие могут быть "другие цели" накануне конца света? Кто-то недоуменно спросит "Почему так важно фотографировать конец света?". Ответ на этот вопрос более чем прост - фотография - это единственное, что мы можем сделать.
В данной статье я хочу поговорить об одном из аспектов цифровой фотографии - интерполяции изображения. Функцию интерполяции сейчас впихивают во все ширпотреб-аппараты - фотоаппараты-"мыльницы", телефоны, веб-камеры. В основном эта функция идет в виде цифрового увеличения (zoom) или интерполяционного разрешения. Я полагаю, что подавляющее большинство фотографов-любителей понимает, что это какая-то фигня. Но далеко не все догадываются, что такая функциональность не только не делает ничего хорошего, но еще и портит снимки. Что бы это было очевидно, рассмотрим процесс интерполяции на примере небольшой фотографии среднего, можно сказать, вполне приемлемого качества.
Размер файла нашей фотографии приблизительно можно оценить по формуле:
S=w*h*c*k
где S - размер в байтах, w и h - ширина и высота изображения в пикселях (точках), c - количество байт на точку (определяется количеством цветов), а k - коэффициент сжатия . Оценка приблизительна, потому что в файл фотографии, как правило, добавляется еще служебная информация, а коэффициент сжатия немного "плавает" в зависимости от содержимого снимка. Тем не менее, эти погрешности не велики и, в качестве оценочной, данная формула подойдет. Из формулы видно, что, если мы увеличим фотографию в 2 раза (w->2w, h->2h), то ее размер на диске увеличится примерно в 4 раза. А теперь вспомним, что мы делаем, когда снимок уже у нас на компьютере. Он уже какого-то строго определенного размера, а нам хочется рассмотреть мелкие детали. Новую информацию нам взять просто неоткуда. Но в нашем распоряжении есть масса разных просмотрщиков изображений (Viewers), которые позволят нам увеличить изображение в пару щелчков клавиш. Разумеется, недостающую информацию им взять неоткуда. Поэтому они будут ее "додумывать" на основании имеющейся. Этот процесс и называется интерполяцией. При этом, существуют различные алгоритмы интерполяции изображения - одни работают лучше на фотографиях, другие - на чертежах и картах; одни дают более сглаженное изображение, другие - более резкое, третьи вообще не стремятся сгладить изображение, делая упор на сохранение точности. Ниже показан один из возможных примеров увеличения изображения.
Как нетрудно заметить, качество изображения стало хуже. Но не критично - мы вполне можем рассмотреть мелкие детали. А, если нам этого недостаточно, то мы выберем другой просмотрщик с другим алгоритмом интерполяции - ведь на диске у нас качественный неиспорченный оригинал. Фотоаппарат со включенной функцией интерполяции (цифровой zoom или интерполяционное разрешение) делает то же самое. В него просто встроен один из возможных алгоритмов. Только, в отличии от просмотрщиков, фотоаппарат сохраняет полученный результат и удаляет оригинал. Что же мы получаем? Возвращаясь к нашей формуле, мы видим, что второе изображение займет на диске немного больше места (его ширина и высота чуть-чуть больше), чем первое. А, если бы мы увеличили всю картинку, а не часть, то получили бы файл значительно большего размера. Качество изображения у нас тоже ухудшилось. Что же мы получили положительного? Положительного нет ничего! Просто потому, что вторую картинку мы всегда можем получить из первой. Мы просто запороли изображения. А теперь вспомните рекламные лозунги и красочные этикетки с надписью "цифровой zoom 18x", "digital zoom 24x" и т.д. Вспомнили? А теперь подумайте, что означает эта цифра. На мой взгляд, ее основной смысл - это на сколько сильно вы можете запороть фотографию, если во время не отключите интерполяцию. А какой смысл в это вкладывали разработчики? Не знаю - все эти маркетинговые тонкости настолько сложны..