1 Некоторые сведения о работе с изображениями.

Эта глава имеет отношение к сканированию и распознаванию, но компьютерная графика сама по себе является отдельным и большим вопросом, которому посвящено множество книг (хотя само слово «графика» в названии отсутствует). Не пытаясь глубоко вдаваться в эту тему я хочу обозначить некоторые достаточно общие и важные её аспекты.

Это важно потому что используется в сайтостроительстве, издательском деле, рекламе, дизайне и пр. Компьютерная работа с графикой становится всё более массовым занятием по мере распространения интернета, цифровых фотоаппаратов и телефонов со встроенной камерой. Такая камера может быть только цифровой. Её компьютерная совместимость позволяет «сливание» снимков в компьютер.

Терминология.

Вначале определимся с терминологией поскольку очевидность здесь только кажущаяся. С точки зрения пользователя не существует никакого отдельного вопроса о графике в том смысле что существует какая-то техническая специфика компьютерных изображений или, скажем, вывода графики на дисплей. Есть области объёмного моделирования и видеоредакции как виды работ. Результаты в них могут быть изображениями. С другой стороны в области компьютерной графики (далее –КГ) результаты работы могут быть внешне неотличимы от результатов работы в этих специализациях. Но в КГ нет работы с объёмной моделью, и видео тут лишь затронуто а на самом деле это другая отрасль. В нынешнее время все они взаимодействуют. Здесь не имеется в виду генерация отчётов с графиками. Компьютерная графика в этой терминологии – изображения и анимация как файлы любого происхождения и создание этих файлов в приложениях для редакции иллюстраций и анимации. Современные программы способны создавать самые сложные и фантастические изображения.

Сейчас я затрону вопрос который во многих случаях видимо не будет иметь значения так как вы просто не будете сталкиваться с такими задачами при работе с изображениями. Однако в плане реализма контрастных сцен он важен. Видимый мир очень контрастен. Но дисплеи и устройства печати не могут (как и фотоплёнка и фотобумага) отобразить такой контраст. Чтобы решить эту проблему иногда используются HDR изображения. Они содержат большой диапазон освещённости (luminance) поэтому могут быть настроены для лучшей передачи контрастных сцен.

Если вы пользуетесь цифровым фотоаппаратом то смотря по модели можете или нет получать снимки в формате RAW. Это необработанные данные светоприёмника которые могут иметь преимущество перед другими форматами. Но они видимо не имеют EXIF-данных то есть невидимого текста который имеет разное назначение в том числе может быть использован для поиска. Возможно ваша цифровая камера пишет в EXIF дату съёмки. Пятнистость происходящая при цифровой съёмке по техническим причинам называется шумом. Есть фильтры и программы для уменьшения шума.

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

Цветовые каналы – это части файла которые содержат отдельные данные и смешиваются на устройстве вывода. Так существует например alpha-канал без которого нельзя придать прозрачность, red, green, blue-каналы для отображения основных цветов. Поэтому существует режимы RGB и RGBA которые отличаются наличием альфа-канала.

Когда вы сохраняете картинку для использования в сети то почти всегда нужна оптимизация которая преследует наилучшее качество при малом размере. Параметр dither может сильно сказаться на результате делая более размытыми и аккуратными линии и края. Параметр anti-aliasing определяет сглаживание границ что может сильно улучшить вид убирая резкие границы.

Изображение имеет разрешение, resolution то есть обладает числовой характеристикой уровня детализации. Для этого используется количество точек на дюйм. Разрешение не имеет такого фатального значения для вида иллюстрации при увеличении в векторной графике как в растровой (см ниже). Снимок с экрана имеет разрешение экрана то есть сейчас обычно 72 или 96. Это мало для качественного результата.

В компьютерной терминологии используется термин color для обозначения оттенков а не именно цветов. Количество оттенков может быть ограничено форматом и оптимизацией. Оно не бесконечно и ограничено цветовой моделью. Вы столкнётесь с такими моделями как RGB, CMYK, Lab если будете пользоваться профессиональными программами. Под глубиной цвета (colordepth) понимается количество оттенков которые может иметь файл конкретного формата. Отдельный файл может иметь меньше оттенков. Важен предел. При оптимизации вы можете использовать так называемую безопасную палитру которая часто обозначена web и ограничиается 256 оттенками которые будут верно отображаться на всех дисплеях в www-обозревателе.

Уровень сжатия (compression level) – это обычно числовая величина которая определяет то как будет записано изображение. При потерьном алгоритме сжатия это может привести к слишком плохому виду – смотря по уровню сжатия.

Файл может быть многостраничным то есть нести несколько изображений. Конкретная программа может не уметь показывать такие файлы или показывать только первую страницу. На сегодня многостраничными могут быть файлы форматов TIFF, LDF, DJVU, и, возможно, другие о которых я не знаю и которые будут созданы.

В профессиональной работе различаются понятия образа (image) и холста (canvas). Вы можете увеличить холст не меняя образ то есть собственно картинку.

Параметр gamma не является аналогом яркости или контраста.

Получение и редакция.

Компьютерная графика (далее КГ) может быть

КГ может быть полученной по сети, результатом захвата видео и захвата ТВ-сигнала, полученной с помощью сканера (в том числе входящего в комбинированное устройство), цифрового фотоаппарата (в том числе входящего в видеокамеру и телефон), дигитайзера, www-камеры. Также вы можете сделать снимок дисплейного изображения нажав PrintScreen; снимок при этом попадает в буфер обмена (см справку ОС).

Результатом ввода является файл графического или видеоформата; разумеется, сканер и дигитайзер не могут захватить видео. Графическими обычно считаются и анимационные форматы, но не файлы презентаций и PostScript. Последний формат часто имеют файлы полученные при помощи виртуального принтера, оба формата могут быть конвертированы в графические форматы.

Факторы результата.

Есть несколько обстоятельств, которые определяют результат обработки КГ. Это требования издательств, пропускная способность сети и ёмкость устройств, в которые попадает результат, а также возможность сделать файл связанным и внедрённым. Вместе с требованиями к самому изображению они сильно ограничивают результат работы. К тому же сказываются возможности программ.

Пропускная способность сети и мощность сервера делают актуальным вопрос об оптимизации, то есть нахождении хорошего отношения размер\качество изображения для конкретного файла. Через интернет стоит передавать файлы только небольшого размера. При прочих равных свойствах это форматы которым соответствуют расширения jpg, jpeg, gif, DJVU, DJV, SWF, LDF, LWF, SVG, FIF. Последний формат – экзотический, поэтому особенно надо подумать как его будут открывать на стороне получателя. Формат SVG позволяет создавать файлы очень небольшого размера если у них вид аппликации. Такой вид имеют рисунки к технической документации, схемы и пр. Если вы не можете передавать в обозначенных форматах надо архивировать файл (см главу об архивах). Для передачи по интернет определённо не годится формат bmp. Он читается практически всеми программами связанными с графикой, но во-первых, он слишком велик без внутреннего сжатия, во-вторых, с ним он может не читаться некоторыми программами, в-третьих, даже со сжатием он не идёт в сравнение по размеру с используемыми обычно jpg, PNG и gif.

Векторные и растровые форматы.

КГ бывает векторной и растровой. В рамках первой изображение понимается как совокупность математических кривых. Растровая графика оперирует более понятным понятием точек. Практическая сторона в том, что этим видам графики соответствуют разные форматы, и векторная графика не портится при масштабировании. Современные программы обычно могут конвертировать разные форматы. Некоторые программы могут выполнять векторизацию то есть перевод из растрового изображения в векторное, например Draw OpenOffice. При этом оно может упроститься но зато вы получаете все возможности связанные с векторным представлением – вы сможете таскать границы как кривые и пр. Размер файла после векторизации может и сильно уменьшиться и возрасти в том числе смотря по формату исходного файла. Это объясняется тем что исходный растровый файл обычно записан со сжатием данных. Векторизовать стоит только относительно простые изображения тк иначе масса данных сделает файл слишком большим, к тому же могут пропасть тонкие переходы цвета и тона.



Какой формат выбрать для хранения файла? Это зависит от его дальнейшего применения. Форматы различаются возможностью открывания в приложениях в которых вы работаете (или в которых работает получатель файла). Есть десятки форматов. Некоторые из них не являются чисто векторными или растровыми. В основном используется несколько форматов.


формат

возможности хранения данных

деградация данных при сохранении

объём получаемых файлов

популярность

JPEG

Без слоёв, не анимированный, цвет дост. для фото

Да, регулируемая

мал

Высокая

GIF

Слои, может быть анимированный, цвет не дост. для фото, прозрачность

Да в цвете если сходные данные имеют больше 256 оттенков.

мал

Высокая

PNG

То же что GIF но цвет дост. для фото

Нет.

мал

Высокая

PSD

Всё.

Нет.

велик

Высокая

BMP

без слоёв, цвет может быть недост. для фото


велик

Нет

TIFF

Прозрачность и пр.

Нет.

Смотря по компрессии

Высокая


Написанное не значит что надо стремится реже сохранять файл или скажем отказаться от обработки его в двух программах потому что для этого его придётся сохранять лишний раз. Но в принципе метод хранения таков что данные теряются, и благодаря этому мы видим массу картинок в интернете. Если бы не было этой технологии потерьного сжатия мир был бы гораздо беднее. JPEG был создан именно для того чтобы добиться малого размера файлов – пусть даже с искажением.

Формат PDF существует и как формат текстосодержащих документов для печати и вывода в www-обозревателе, и как формат иллюстраций. Также довольно широко используется формат SWF (Flash) но не очень явно тк эти файлы входят в составные документы.

Ещё я хочу указать на несколько новых форматов которые имеют практическое значение. Это LDF, LWF, DJVU, JPEG2000, SVG, SVGZ, FIF. Они созданы для компактного хранения данных и передачи по сети – прежде всего интернет. Но чтобы они выводились и чтобы сохранять в этих форматах вам потребуется дополнительное программное обеспечение. Они пока не обрабатываются средствами ОС как и PSD. Формат SVG как и видимо SVGZ позволяет анимацию но возможно не с первых версий формата.

Свойства сильных программ.

Для сильных программ на сегодня характерны следующие черты:

Методика и программы. Большие файлы. Некоторые приложения.

Простейший способ создать иллюстрацию – сделать снимок сканером или фотоаппаратом. Обычно есть исходный файл или несколько файлов которые при обработке сохраняются в форматах специально созданных для редакции графики и анимации, например, PSD, затем в зависимости от ситуации могут быть созданы файлы другого формата, например bmp или WMF, а потом из них – выходного формата. Оптимизация может происходить в отдельной программе. В связи с оптимизацией и другими причинами сохраняйте исходный файл или файлы, и наиболее богатые в плане возможностей редакции тоже.

Результат может быть гораздо беднее и просто ниже качеством того файла с которым вы работали. Если вы захотите переделывать то будет гораздо легче работать с промежуточным файлом.

Для получения отдельного статичного изображения надо вычленить кадр из видеофайла. Напротив, если вы хотите получить анимацию, то стоит подумать о конвертации видеофайла или его части в анимированный файл целиком, не вынимая кадры. В зависимости от целей редакции и программ может потребоваться вынимать кадр из видеофайла при его редакции. Также можно создать анимацию и видео из отдельных кадров, в том числе путём экстраполяции. Для создания анимации часто берут в качестве материала несколько графических файлов, которые сами не являются анимированными.

Практический вопрос в том что формат GIF может быть и статичным, и анимированным, поэтому расширение не поможет различить анимацию и статичное изображение. Похожая ситуация с форматом PDF, который существует и как графический, и как текстосодержащий формат, во втором случае всегда читаемый AdobeReader или AcrobatReader. Это два названия разных версий одной программы.

Штатная программка Paint открывает файлы форматов bmp, jpeg, gif, PNG. Программа Imagin для работы с факсами и графическими файлами не входит в WindowsXP несмотря на её присутствие в более ранних ОС.

При использовании слабой техники или больших файлов вопрос о скорости работы становится очень важным. Из этого происходят такие практические следствия:

Автоматизация - отдельная большая тема; до её применения, думаю, добираются немногие, но при большом количестве файлов это хорошая идея. Здесь я имею в виду не скриптование а просто набор операций, которые последовательно применяются к файлам. Я не видел ни одной программы которая бы позволяла выполнять их в зависимости от характеристик файла, вам самим придётся отобрать файлы. ОС здесь не поможет, её подпрограммы в лучшем случае позволят выводить сведения о свойстве одного файла.

В вашем распоряжении – множество программ – от примитивного штатного Paint до Photoshop и CorelDraw. Photoshop широко используется, в том числе где это и не нужно так как создаёт лишние сложности. Вообще-то это профессиональная программа а не затычка к каждой бочке. Программы могут быть связаны с анимацией или нет, больше или меньше связаны с ней. В качестве альтернативы Photoshop существует бесплатный GIMP а также отличная бесплатная программа Artweaver. PhotoFiltre снабжает вас множеством фильтров. Dogwaffle Painting Program — множеством кистей (и многого другого). Все эти программы бесплатны. Они созданы для обработки растровой графики как и Photoshop. GIMP может расширяться Photoshop-совместимыми плагинами. Англоязычная подборка уроков по Photoshop есть по адресу http://www.kirupa.com/motiongraphics/index.htm. Про Photoshop есть много статей и книг. Они показывают реальную работу с инструментами подобными таковым в GIMP поэтому эти материалы могут быть непрямо использованы для обучения GIMP.

То есть его инструменты для этого хотя формат входного и выходного файла может быть векторным. При открытии и сохранении файлов как в любой программе происходит адаптация содержимого файла к открывшей программе. То есть например векторы как отдельные кривые могут быть проигнорированы но как части картинки они останутся. Это объяснение а не факт о GIMP. Инструменты программы могут рассматривать части изображения как векторы, пятна, аппликацию и вообще как угодно. Это вопрос не назначения приложения или формата а мнения программистов. Но по своей природе инструменты могут более подходить к одному применению чем к другому. Так, например, кисть определённо является растровым инструментом хотя её мазки можно сохранить в векторном формате.

Когда пользоваться векторным редактором а когда растровым — вопрос во многом определяемый свойствами отдельного редактора. Однако в целом ясно что если вы хотите делать выноски или изображения технического характера то векторная программа может быть гораздо лучшим выбором. И наоборот если вы хотите совместить несколько фотографий и делать мазки подобные акварельным то в общем лучше применить растровое приложение. Хотя сильная программа может иметь инструменты которые смягчают или устраняют это деление.

Количество инструментов может поразить вас. Такие приложения как GIMP дают возможность многое сделать но в разрезе профессиональной терминологии описывающей файл. Поэтому освоение таких программ это больше освоение понятий чем инструментов.

Я могу указать в качестве бесплатного варианта рабочей среды для векторной графики на OpenOffice, CADE, PowerDraw и особенно Inkscape. На рисунке: момент правки контура с помощью «булавок».




Мне понравился CorelPainShopProX, понятная вещь с возможностью удаления цифрового «шума» (то есть пятен) и эффекта «красных глаз». Это платная программа.

Среди небольших приложений которые вы можете взять в интернете я бы назвал DarkView, Pixia, XnView, ImageAnalyzer. Первая из них даёт вам много эффектов но бесплатна. Вторая – многослойный графический редактор и тоже бесплатна как и Paint.NET. Последний требует наличия Microsoft.NET Framework.

Для иллюстрации технических руководств и сайтов вы можете найти массу CAD-программ в которых проектируются детали машин. Сейчас такое проектирование имеет массу преимуществ перед обычным. Среди бесплатных приложений объёмного моделирования для Windows которые вы можете использовать для создания иллюстраций, видео лидируют Blender, Gedit, бесплатный вариант Softimage, trueSpace. Последняя раньше была платной программой. Ещё есть некоторое количество небольших программ но они обычно убоги.

Вероятно вы сможете открыть файл созданный в CAD-программе в некоторых приложениях где моделирование не направлено на техническое конструирование. Это позволяет вам использовать параметрическое (точное) конструирование типичное для первых и массу других возможностей вторых. Например анимацию и раскрашивание, материалы и текстуры. Параметрическое конструирование задаёт размеры, положения, точно определяет их.

В некоторых случаях вы можете использовать для подобных задач OpenOffice или тандем «трёхмерный конструктор + просмотровая программа с наложением текстур». ImageAnalyzer включает просмотровый модуль для форматов m3d, ply, 3ds.




С его помощью вы можете конвертировать такие модели в формат VRML. Это малообъёмный файл который можно посмотреть в IE. Такая модель может иметь материалы и текстуры.

Кроме того AdobeReader версии 8 (и возможно более ранних) открывает файлы PDF с трёхмерными сценами. Вот как это выглядит.





Подводные камни.

Теперь я хочу предупредить о возможности подводных камней в программах.

1.Сразу посмотрите в каких форматах и с какими параметрами может быть сохранён файл. Возможно, они вас не устроят как конечный результат работы, и придётся использовать другую программу – хотя бы для конвертации в подходящий формат.

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

3.Некоторые операции могут быть применены только ко всему изображению даже если есть выделение

4.программа может быть не приспособлена к выделению или позволять только прямоугольные (круглые, угольчатые) выделения.

5.Изменение размера и поворот могут привести к росту глубины цвета, хотя вы не получите сообщений об этом. То же может произойти и при любом смягчении и размазывании, так как они имеют отношение к плавным переходам а они возможны только для многооттеночных то есть достаточно глубокоцветных файлов. Напротив, крайний контраст создаёт видимость однобитного (то есть битонального, bw) файла, но на самом деле глубина цвета не меняется.

6.Уравнивание цветовых составляющих не даёт настоящее серое изображение. Чтобы его получить надо использовать пункт grayscale. Они вообще-то имеют разный размер в хранении, то есть дают файл разного размера.

7.Часто операция невозможна не вообще, а для текущей глубины цвета. Как только вы поднимите её на достаточную высоту пункты меню включатся.

8.Падение цветности и постеризация дают разный результат в плане размера файла.

    1. обратите внимание что при автообработке может произойти переписывание исходного файла, который

      не попадает в корзину. Если вы не уверены в качестве нового файла избегайте этой ситуации. Общая рекомендация: работайте с копиями. С другой стороны программа может задавать вопрос о переписывании и будет ждать ответа когда вы ушли и ожидаете прийти когда всё будет готово.

      Другая опасность – что обработка будет бесконечной тк создаваемые файлы попадают во множество обрабатываемых (в тот же каталог). Если они будут обработаны то может произойти их ухудшение от многократной обработки. Многие форматы – на практике прежде всего jpg сохраняются с потерей качества из-за установки программы на сохранение с качеством меньше 100% (правда, качество всё равно бы падало). Уровень 80% считается обычным и может быть установлен по умолчанию; для оптимизации он может быть понижен.

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

    3. В GIMP, и, может быть, в некоторых других программах отдельные операции нельзя отменить. Конкретно я имею в виду большинство пробованных мною скриптов. GIMP содержит довольно большое количество скриптов которые позволяют практически моментально добиться качественного результата выполняя автоматически множество операций. Но после этого результат не всегда удаётся отменить. Возможно, в следующих версиях приложения эта ситуация улучшится, однако препятствием может оказаться качество самого скрипта, а оно не регулируется производителем программы если автор скрипта независим. Скрипт можно исключить из стандартной поставки но нельзя запретить конкретному пользователю иметь его поэтому не факт что когда-нибудь эта проблема пройдёт.

Простой пример.

Вернёмся из дебрей на простор. В несложном случае вам надо обрезать, уменьшить и оптимизировать файл. Обрезка выполняется либо с помощью специального инструмента либо после выделения части которую надо оставить. Уменьшение изображения может быть разным, то есть используется разный алгоритм. Результаты могут быть тоже разными на вид. Уменьшение не надо путать с масштабированием, которое меняет только угол зрения.

Оптимизация – более многоплановый вопрос. Она складывается из уменьшения:

-уровня детализации, то есть разрешения (resolution) и резкости. Иногда вы можете размазывать или наоборот «зарезать» часть изображения. Также в этом отношении актуальны операции clean, denoise и уменьшение контраста, soft и операции median filter, despecke, denoise.

-глубины цвета (см главу о сканировании)

-параметров сохранения

Одно и то же изображение сохранённое в разных форматах даст файл разного размера. Обычно для фотографий лучшим является формат jpg.

Поиск и организованное хранение.

Поскольку увеличивается количество владельцев цифровых фотоаппаратов вероятно что у пользователя в компьютере образуется множество фотографий. По этой и другим причинам создающим эту ситуацию имеет значение вопрос о поиске и организации графических файлов. Всё что было сказано об организованном хранении файлов остается в силе но применительно к изображениям есть свои достойные обсуждения особенности. Когда вы переименовываете или называете файл то в этом случае труднее подобрать достаточно точное название, а сделать его уникальным практически невозможно так как типична многократная съёмка одного сюжета. Поэтому название мало что даёт в плане ориентации в массе файлов. Проводник или поисковая подпрограмма Windows95\98 запускаемая из меню кнопки Пуск позволяет вам отобрать файлы изменённые или созданные в определённый период. Проводник также имеет режим показа эскизов страниц при котором вы увидите изображения и HTML-документы но этот способ медленный и не позволяет видеть размеры файлов.

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

В качестве примера приведу XnView. Приложение работает либо как обычное либо как запускаемое из командной строки с уточнением состояния. В любом случае вы находитесь либо в окне просмотра либо в окне редакции файла, причём можно открыть для редакции файл в окне редакции. При просмотре рядом находятся дерево каталогов, список файлов просматриваемого каталога и окно показывающее текущий файл. Ползая по каталогам вы можете тут же видеть сколько графических файлов и их общий объём. Проводник этого вам не покажет. Масштаб регулируется. Есть возможность переименования и переделывания массы файлов, слайдшоу, создания списка выделенных файлов. Можно распечатывать файл. Вы можете сортировать имена файлов по специфическим свойствам которые действуют только для графики.

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

То есть это мощная программа отчасти заменяющая графический редактор. Она бесплатна для некоммерческого использования.

Есть ещё одна возможность этого приложения напрямую касающаяся темы «выхода из леса компьютерной графики». Вы можете писать описания для каждого файла. Они будут храниться в том же каталоге что и файл. Описания будут записаны в скрытый файл с именем descript.ion, но при стирании каталога он тоже сотрётся, поэтому будьте внимательны! Это текстовый файл который можно использовать для поиска вручную или с применением автоматизации. В качестве темы для размышления могу подсказать что для изображений обычно имеет смысл обозначать кто, где, когда, что изображено. XnView версии 1.91.6 (и возможно более ранние) позволяет поиск по размеру, дате, формату, ширине, высоте, комментарию, описанию, данным IPTC, EXIF и даже по визуальному сходству. Приложение может расширяться Photoshop-совместимыми плагинами.

Программа ACDSee к тому же поддерживает соответствие между именами и наличием файлов и описаниями. Но для этого изменения с файлами должны делаться в этой программе. На этот раз это платная и тоже мощная программа с возможностью просмотра формата DJVU.

Существуют программы для поиска похожих изображений. То есть поиска по подобию вида а не размеру или другим формальным признакам. Перед сравнением файлов может потребоваться автоматическое создание файла описаний, но это не содержательное и не словесное описание.