Основы распознавания изображений с помощью FineReader. Обманутый глаз. Цветовой куб RGB

Рисунок 1. Hermann Paulsen, "Магический узел 1", гуашь, 75x75 см, 1985.
Пространственная глубина предполагается кубической структурой сферы, что является иллюзией.

В 1985 году, когда Зенон Кульпа работал над статьей "Наведения порядка в невозможном" о классификации невозможных объектов, я отправил ему несколько новых рисунков. Его реакция была следующей:

"Чем больше открывается невозможных объектов, тем сложнее становится организовывать их в стройную систему".

Кульпа начал с разделения всех двухмерных объектов допускающих трехмерную интерпретацию на четыре категории:

  1. Возможные объекты (Possible objects). Такие объекты воспринимаются ГЛАЗом как возможные представления трехмерных объектов. При дальнейшем рассмотрении, наш разум полагает, что такие объекты реализуемы в трех измерениях.
  2. Правдоподобные объекты (Probable objects). ГЛАЗ считает объект трехмерным, однако, при ближайшем рассмотрении становится ясно, что такой объект не может быть реализован в трех измерениях. Примером может служить усеченная пирамида на рисунке 3. ГЛАЗ немедленно сообщает, что это усеченная пирамида, хотя очень просто можно продемонстрировать, почему данный объект невозможен: если продолжить три грани пирамиды, то они не встретятся в одной вершине.
    Однако даже после такого рационального объяснения мы не может убедить наш ГЛАЗ видеть в этом рисунке что-то невозможное, и по этой причине данная пирамида не может названа невозможным объектом. Если вернуться к определению невозможного объекта в конце прошлой главы, вы увидите, что именно ГЛАЗ решает может ли объект быть отнесен к категории "невозможных объектов".
  3. Неправдоподобные объекты (Improbable objects). Первой реакцией ГЛАЗА является – невозможно! Но как только будет предложена пространственная реализация с другого ракурса, ГЛАЗ реагирует, конструируя удовлетворительный результат. Примером может служить небольшой брусок на рисунке 4. Если мы сообщим ГЛАЗУ, что в бруске сделан вырез под наклоном, он примет эту информацию и продолжит нормально работать, если мы, например, также предоставим трехмерную модель этого "невозможного" блока.
  4. Невозможные объекты. ГЛАЗ немедленно определяет пространственные противоречия, существующие в фигуре, которые будут подтверждены позже рациональным мышлением. И ГЛАЗ и разум полагают объект невозможным. В данном случае – это истинный невозможный объект. Данные размышления приводят нас к вопросу: существует ли объективный критерий, который можно использовать для выяснения, является ли объект невозможным? Были предприняты разнообразные эксперименты в попытках создать чисто математическую основу, критерий, который позволил бы определить и классифицировать невозможные объекты. Не удивительно, что данные попытки провалились, так как здесь ГЛАЗ играет важную роль, и механизм работы ГЛАЗА, развивавшийся в процессе эволюции, чтобы дать человеку больше шансов на выживание, не работает по простым математическим законам.

Рисунок 2. Oscar Reutersvärd, "Perspective japonaise n° 274 badhk", разукрашенный рисунок тушью, 75x55 см.
Рисунок 3.
Рисунок 4.
Рисунок 5. Dirk Huizer, "Looking in - Looking out", irisated screenprint, 49x49 см, 1983

Познакомившись более подробно с процессом "принятия решения" ГЛАЗом, нам будет легче обсуждать следующий материал. Давайте сделаем следующее упражнение:

Представьте горизонтальную плоскость S, проходящую сквозь объект, которая изображена на рисунке 6a горизонтальной линией, пересекающей треугольник. Закройте листом бумаги часть объекта, находящуюся ниже линии и нарисуйте сечение плоскостью S верхней части фигуры. Затем закройте верхнюю часть фигуры и нарисуйте сечение плоскостью S нижней части фигуры. Если два наброска сечений отличаются хоть в чем-то, значит мы имеем дело с невозможным объектом. В данных случаях, ГЛАЗу ясно, что фигура состоит взаимно исключающих друг друга частей.


Рисунок 6.

Чтобы продемонстрировать практическую пользу данного метода для обнаружения несовпадающих, и, следовательно, невозможных сечений, ниже представлены несколько примеров: двухбалочних Эрнста (рисунок 6b), нормальный четырехбалочник (рисунок 6c), невозможный куб (рисунок 6d) и невозможный камертон (рисунок 6e). Данный метод менее полезен в случае правдоподобных объектов: например, если вы проведете данный эксперимент с усеченной пирамидой с рисунка 3, вы получите одинаковые сечения.

Между тем, мы до сих пор не приблизились к созданию системы категорий "настоящих" невозможных объектов. Зенон Кульпа не пришел к каким-либо выводам. Он вынужден был создать набор пересекающихся категорий, составленных из мешанины разнообразных критериев. Лишь категории "многоплоскостные" и "объекты с параллельными брусками" предполагают какое-то полезное разделение объектов.

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

Обманчивое заполнение плоскости невозможными трибарами

На первый взгляд композиция Реутерсварда на рисунке 23 из предыдущей главы имеет ряд сходств с картиной Эшера "Cubic division of space", созданной им в 1952 году. Но, фактически, картина Реутерсварда представляет сеть невозможных трибаров, в которой большие кубы висят как прозрачный занавес на переднем плане, никак не связанный с кубами на второй линии. Те кубы, в свою очередь, выглядят как вторая занавеска позади первой, за которой следует третья – с еще меньшими кубами.

Hermann Paulsen использует изогнутую сеть трибаров (рис. 1) для представления заполнения сферического объема. Уменьшение размеров трибаров ближе к краям создает эффект сферы.

Перекрывающиеся плоскости

Мы уже упоминали, что пространственные противоречия в невозможном трибаре могут быть сведены к базовым принципам стереометрии, а именно к тому, что три непараллельные плоскости должны пересекаться в одной точке. На рисунке Оскара Реутерсварда (рисунок 2) мы видим три таких плоскости, формирующих прямой угол. Если мы продолжим эти плоскости дальше разрыва в центре, ограничивающего их, мы обнаружим, что они пересекаются в разных точках. Это несоответствие остается незамеченным, так как у плоскостей отпилено по углу. Получившееся отверстие представляет собой невозможный объект. Шесть плоскостей на рисунке Dirk Huizer (рисунок 5) не содержат в себе никаких проблем. Их невозможное расположение становится невозможным в силу того, что они соединены невозможным трибаром. Не смотря на простоту композиции, картина предлагает непостижимо мистическое представление иллюзорного пространства.

Однобалочник, двухбалочник и что-то между

Возникает вопрос, может ли вообще существовать невозможный однобалочник. На рисунке 8 сверху показан обычный брусок, ниже – брусок у которого оба среза видны, а внизу брусок, у которого ни одного среза не видно. Два последних – естественно невозможны, но ГЛАЗ определяет их как бруски, у которых концы срезаны под углом. Поэтому, согласно нашей классификации, приведенной выше, они не являются невозможными объектами.


Рисунок 7. Бруно Эрнст, "Невозможное проникновение", 1984
Рисунок 8.

В картине Сандро дель Прете "Врата в четвертое измерение" (рисунок 12) автор, тем не менее, находит способ составить из таких брусков невозможные объекты путем добавления дополнительных пространственных деталей. Все четыре бруска направлены от нас, и из всех объектов, видимых на картине, фигура женщины находится ближе всего к нам. Все бруски обладают еще одним любопытным свойством: каждая грань бруска одновременно имеет и горизонтальную и вертикальную ориентацию в зависимости от того, с какой стороны их рассматривать. Эта особенность подчеркивается надписями на гранях.

На рисунке 7 совершенно нормальный брусок становится невозможным вследствие своего размещения относительно других брусков: он проходит между двумя другими брусками, между которыми нет пространства для третьего бруска, так как их ребра плотно склеены друг с другом.


Рисунок 9. Зенон Кульпа, "2.5-мерный брусок", 1984

Объект на рисунке 9 был открыт Зеноном Кульпой. На первый взгляд нам кажется, что мы видим два параллельных бруска, но в правой части один из брусков теряется в тени своего соседа. Наверное, эту фигуру лучше всего назвать полуторабалочником.


Рисунок 10. Бруно Эрнст "Невозможный двухбалочник"

В случае двухбалочника Эрнста (рисунок 10) прямоугольное сечение в середине раскрывает двойственную ориентацию фигуры. Фигура выглядит вертикальной на переднем плане, и горизонтальной – на заднем. Ее интерпретация определяется пространственной информацией, получаемой от взаимной ориентации концов двух брусков.


Рисунок 11. Сандро дель Прет, "Мировые колеса", рисунок карандашом.

Картина Сандро дель Прете "Cosmic wheels" (рисунок 11) также может рассматриваться как невозможный (искривленный) двухбалочник. Картина имеет определенное сходство с работой Эшера "Cube with magic bands" (рисунок 16).


Рисунок 12. Сандро дель Прет, "Врата в четвертое измерение", рисунок карандашом

Невозможные комнаты

Я нарисовал постер "Fifty Years Impossible Figures" (рисунок 13) к юбилею Оскара Реутерсварда. Отверстие в верхнем углу комнаты – невозможное, так как три плоскости (две стены и потолок) не встречаются в одной точке. Первый невозможный объект Реутерсварда (невозможный треугольник, составленный из девяти кубиков), изображен как парящий объект на заднем плане. Когда Жос де Мей увидел данный постер, он нарисовал на его основе свою, чисто фламандскую, версию данной композиции для рождественской открытки (рисунок 14). Треугольник Реутерсварда заменен двумя переплетенными трибарами, и картина показана скорее в центральной, а не в ложной перспективе.


Рисунок 13. Бруно Эрнст, постер, 1984
Рисунок 14. Жос де Мей (после Бруно Эрнста), разукрашенный рисунок тушью, 27x19.5 см, 1985

Странные комнаты на рисунках 15 и 16 снова основываются на том факте, что три плоскости пересекаются более чем одной точке. В обеих картинах это приводит к тому, что боковые стены повернуты к нам. Более того, на рисунке 15 одна сплошная стена исчезает в воздухе, хотя иллюзия комнаты, тем не менее, остается очень убедительной.


Рисунки 15 и 16. Бруно Эрнст, "Странные комнаты"

Трибары: одиночные и связанные со своим окружением.

Невозможный трибар может быть персонажем картины без каких-либо приспособлений, как показано на рисунке Dirk Huizer (рисунок 17).


Рисунок 17. Dirk Huizer, "Треугольник Пенроуза и императорская держава", irisated screenprint, 45x45 см, 1984

С другой стороны, на рисунках 18-20 окружение, в котором находится трибар, играет важную роль. На рисунке 18 показан невозможный трибар, установленный в холле квартиры. Реутерсвард немедленно ответил на данное изображений своим вариантом (рисунок 19), в котором конец трибара частично загорожен потолочной балкой, таким образом, изменив линию тени, которую он отбрасывает. Вдохновленный этим, я нарисовал рисунок 20. Я добавлен еще несколько невозможных элементов в комнату, которая теперь преобразовалась в музейную галерею невозможных объектов, с картинами развешанными по стенам. Но, понятно, что существуют серьезные проблемы с показом на выставке "реального невозможного трибара".


Рисунок 18. Бруно Эрнст
Рисунок 19. Эрнст/Реутерсвард
Рисунок 20. Бруно Эрнст

На рисунке 21 показана вариация обычного невозможного трибара в обстановке, позаимствованной с рисунка Макалея (Macaulay). На нем показана поверхность Луны в 2034 году в момент придания заключительных штрихов монументу, посвященному празднованию 100-летия открытия невозможного трибара.


Рисунок 21. Эрнст/Макалей

Невозможные мультибары

На рисунке 22 представлена сплошная рамка, находящаяся выше и левее относительно точки зрения зрителя. С этого угла каждый угол выглядит по-разному, так что все типы углов можно пронумеровать цифрами от 1 до 4.


Рисунок 22.

Рамка может быть описана данными числами (1234). Используя углы в разных комбинациях, мы можем построить рамки, в которых ГЛАЗ будет обнаруживать противоречивые пространственные отношения. Две фигуры в правой части рисунка 22 показывают невозможные четырехбалочники. Один из них имеет комбинацию углов (4444), второй – (4141).

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

Заметим, однако, что мультибары (многобалочники), созданные таким способом, менее привлекательны в качестве невозможных объектов, чем невозможный трибар и четырехбалочник. Во-первых, предположение наличия прямых углов в невозможном объекте, то есть расположения брусков перпендикулярно друг к другу, служит ГЛАЗу отправной точкой для определения направлений в пространстве, и любые противоречия в данном случае будут более очевидны. Однако, стороны мультибара всегда соединяются по углом большим, чем 90 градусов, и направления в пространстве определить сложнее. Во-вторых, чем больше брусков и линий в объекте, тем менее бросаются в глаза противоречия. Однако, создавать мультибары очень просто. На рисунке 23 мы видим один пятибалочник (13143), один шестибалочник (444444) и искривленный двухбалочник (44), с которым мы встречались ранее на рисунке 11.


Рисунок 23.

Четырехбалочники


Рисунок 24. Оскар Реутерсварда, разукрашенный рисунок тушью, 57x76 см

Четырехбалочник в его классической форме изображен на рисунке 31. Он относится к типу (3441), а его представление, как будто он составлен из строительных блоков, придает ему реалистичности. Площадь его поверхности и объем могут быть посчитаны: 76 дм 2 и 19 дм 3 . Мы можем проэкспериментировать с этой фигурой также, как с невозможным трибаров в главе 4 . Тем временем, рисунок 30 предоставляет нам все части, которые вам необходимы для построения невозможного четырехбалочника. Вам только нужно закрутить винты!


Рисунок 25. Dirk Huizer, "Натюрморт N3", irisated screenprint, 44x44 см, 1983

Композиция невозможного четырехбалочника с обычных четырехлучевым крестом подчеркивает тот факт, что верх и низ четырехбалочника перпендикулярны друг другу. Невозможный струнный инструмент Дирка Хуизера (Dirk Huizer) состоит из невозможных трех-, четырехбалочников и нормального четырехбалочника.


Рисунок 26. Диего Урибе
Рисунок 27. Макалей/Эрнст, "Древний монумент", рисунок тушью
Рисунок 28. Dirk Huizer, наброски из писем автора

Четырехбалочник можно также быть мегалитическим монументом (рисунок 27). Пейзаж снова позаимствован из рисунков Макалея (Macaulay). Повседневные объекты, в свою очередь, могут быть объединены в невозможные объекты, путем перекрытия друг друга невозможными способами (рисунки 26 и 28).


Рисунок 29. Бруно Эрнст, коллаж, 1984
Рисунок 30. Говерт Шиллинг (Govert Schilling), рисунок тушью, 1984
Рисунок 31. Бруно Эрнст, невозможные четырехбалочники

Мультибары как головоломки

Были созданы разнообразные головоломки, которые позволяют игроку создавать возможные и невозможные трех-, четырехбалочники и др. Наиболее очевидный вид головоломки – пазл, состоящий из шестиугольников, на которых изображены все возможные варианты углов, стыкующихся друг с другом.

Диего Урибе (Diego Uribe) разработал более умное решение, открыв больше возможностей для создания фигур с меньшими усилиями. Он не использует формы углов целиком, а вместо этого лишь отдельные элементы брусков, которые он расположил по краям равносторонних треугольников. Есть возможность создать любой мультибар всего из тридцати двух невозможных треугольников (рисунок 32), и не только те мультибары, с которыми мы встречались до этого, но и фигуры, в которых в одном углу встречаются более двух брусков, как, например, в кубоидах. Существует только одно ограничение: возможны только перпендикулярные соединения брусков. На рисунке 33 показано, как из отдельных элементов собрать невозможный четырехбалочник. На рисунке 34 показана более сложная форма, в которой три бруска встречаются в одном углу.



Рисунки 32, 33, 34. Диего Урибе, мозаика-головоломка; отдельные элементы (слева) и две фигуры, созданные при помощи этих элементов.

Кубоиды

Эшер первым нарисовал "невозможный кубоид" (см. главу 6). Как и в случае с мультибарами, большой набор кубоидов может быть создан, комбинируя различные типы углов (рисунок 35). На рисунках 36-42 показана несколько вариаций на тему невозможного кубоида.


Рисунок 35. Отдельные углы (в центре) нормального кубоида (справа) могут быть скомбинированы в невозможные объекты (снизу).
Рисунок 36
Рисунок 37. Жос де Мей.
Рисунок 38.
Рисунок 39.
Рисунок 40. Michael Jedrzejewski, "Куб", 1985
Рисунок 41. Michael Jedrzejewski, "Стул", 1985
Рисунок 42. Michael Jedrzejewski, "Стол", 1984

Лестницы и шахматные доски


Рисунок 43. Бруно Эрнст, "Ступеньки и плитки на полу", 1984

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

Мы видим тот же эффект на фотографии шахматной доски (рисунок 44). Если мы пойдем от белого коня мимо ладьи к королю, мы останемся на том же уровне, что и были. Однако если мы пойдем напрямик от белого коня к королю, окажется, что король находится выше чем конь. Тем не менее, в реальности они находятся на одной плоскости.


Рисунок 44. Бруно Эрнст, "Шахматная доска 1", 1985

На рисунке 45, созданным Fred van Houten, совмещены несколько невозможностей. Например, возьмем лестницу: внизу она стоит напротив стены, а вверху она сбоку от нее. Эшер аналогичным образом использовал лестницу в своей литографии "Бельведер" (глава 6, рисунок 18).


Рисунок 45. Fred Van Houten, "Лестницы",screenprint, 30x24 см, 1984
Рисунок 46. Бруно Эрнст, "Диагональ", фотография, 1985
Рисунок 47. Бруно Эрнст, "Спираль", фотография, 1985

Множественные плоскости

Множественная плоскость выглядит как единая плоская поверхность при просмотре ее с одной точки зрения, но при взгляде с другой точки все же кажется, что она состоит из двух плоскостей и более. Это самый старый тип невозможного объекта, как мы убедимся в этом в следующей главе. Она появляется непреднамеренно и неосознанно в работах художников, работавших гораздо раньше, чем были открыты невозможные объекты. Рисунок 48 демонстрирует нам, как может быть создана множественная плоскость. Сверху мы видим арку, стоящую на плиточном полу. Согласно разметке пола, представленной в левом нижнем углу, мы видим, что левая опора арки упирается в квадрат черного цвета, а правая – на квадрат с цифрой 2. Давайте перерисуем ту же арку так, чтобы правая колонна стала немного короче и заканчивалась на квадрате 3. Мы создали невозможный объект: кажущаяся плоской арка имеет две базовые линии a и b , и это невозможно. Мы можем продолжать уменьшать правую опору арки, так что она будет достигать квадрата 5. Арка теперь стала частью невозможного четырехбалочника, созданного другим методом, чем тот, что описан ранее. На картине Жоса де Мея (рисунок 49) верхняя часть стены с ромбовидными отверстиями сформирована одной плоскостью. Однако, внизу та же плоскость разбивается на четыре стены на разном расстоянии от зрителя, охватывая достаточно больше пространство, как будто это беседка.


Рисунок 48.

На рисунке 59 мы видим, как одна грань куба дублирует сама себя, образуя пространство для меньших кубов.


Рисунок 49. Жос де Мей, "Отреставрированные руины римлян в восточном стиле во Фламандии", 30x40 см, 1983
Рисунок 50. Бруно Эрнст, "Семейство невозможных кубов", 1984

Лестницы


Рисунок 51. Реутерсвард/Эрнст, "Кариатиды"

Смотря на лестничный пролет, мы сначала решаем, в каком направлении мы желаем двигаться. Выбрав направление, пространственные подсказки помогают решить, куда направлена лестница – вверх или вниз. Направление контура лестницы в данном случае не играет никакой роли (рисунок 53). Сравнительно несложно нарисовать набор лестниц, идущих в одном направлении, поднимаясь или спускаясь без конца. Источник пространственной путаницы, посеянной набором лестниц в левой части рисунка 52, раскрывается на рисунке обычной лестницы в правой части. На рисунке 51 показана лестница, придуманная Реутерсвардом, к которому я добавил несколько фигур для усиления невозможности.


Рисунок 52.
Рисунок 53.
Рисунок 55. Бруно Эрнст, "Негативный звук", 1984

Плоскости с двумя ориентациями

Удивительная природа этого типа плоскостей демонстрируется на следующем примере: маленького храма на рисунке 55 можно достичь, пройдя всего две ступеньки, если двигаться слева. Однако, если двигаться по центру, то уже понадобится взобраться на три ступеньки, и на пять ступенек, если идти справа. Лестница, ведущая к храму, фактически, составлена из трех вытянутых "прямоугольников", расположенных вдоль двух разных направлений. Этим создается эффект непосредственной близости плоскости с левой стороны как вертикальной, и горизонтальной - с правой стороны.


Рисунок 55. Бруно Эрнст, "Короткий и длинный путь наверх", 1984

Хотя плоскость и не деформирована, ГЛАЗ вычисляет двумя разными способами ориентацию на основе соединения деталей. Подобная ситуация возникает на картине Реутерсварда "Layered blocks" (рисунок 56).


Рисунок 56. Оскар Реутерсвард, "Слоистые блоки"

Круговая лестница Пенроуза

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


Рисунок 57. "Лестница из блоков" Роджера Пенроуза

От двойственных фигур к невозможным объектам

Ромб, как на картине Сандро дель Прете "Шахматная доска" (рисунок 59), - двойственная фигура. Это квадрат видимый снизу или сверху. Расположение шахматных фигур и лестниц создает невозможную ситуацию с двумя интерпретациями "сверху" и "снизу", представленными одновременно во взаимном противоречии. Странность данной ситуации становится ясной, если мы будем перемещать белую ладью по одной клетке "вверх по диагонали" вдоль границы доски.


Рисунок 58. Сандро дель Прет, "Дети, смотрящие в окно", рисунок карандашом
Рисунок 59. Сандро дель Прет, "Инвертированная шахматная доска", рисунок карандашом

Похожий пример трансформации двойственной фигуры в невозможный объект представлен на рисунке 58. Рассмотрим окно как таковое. Оно может смотреть на запад, если смотреть на него сверху, и на юг, если смотреть снизу. Обе интерпретации усилены второстепенными пространственными подсказками – декорациями на подоконнике, орнаментом в верхней части окна и двумя раздельными перекладинами, формирующими крестовину окна. Две несовместимые точки зрения слиты друг с другом фигурами, которые мы видим внутри дома: мы можем осознать композицию целиком и по отдельности сверху или снизу.

Конфликт контуров

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


Рисунок 60. Оскар Реаутервард. "Две стрелы"

Невозможный камертон на рисунке 54 имеет, фактически, только одно цельное плечо, поэтому звуковые волны исходят из тени этого невозможного объекта. Некоторые подсвечники канделябра на рисунке 61, аналогичным образом, не существуют. Также невозможно двум стрелам на рисунке Реутерсварда (рисунок 60) иметь четыре конца. Сколько брусков содержится в данной фигуре – два или три? Ни в коем случае не четыре!


Рисунок 61. Бруно Эрнст, "Ложные подсвечники", 1984
  • Обработка изображений

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


    Уменьшение изображения 4928×3280 до 256×170 ближайшим соседом.


    Рекомендую смотреть примеры из статьи в браузере в масштабе 100% и без ретины. То есть по максимуму исключить ресайз при просмотре.

    Результат не представляет ничего хорошего. Изображение дерганое, зернистое, даже трудно понять что на нем изображено. Особенно если на исходном изображении было много мелких деталей или оно само было зернистым. Почему так получается? Потому что в конечном изображении было учтено очень мало информации из исходного. Если условно отметить на исходном изображении те точки, которые попадают в конечное, получится вот такая сеточка:




    Точки, которые попадут в конечное изображение размером 20×13.

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


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



    Уменьшение с 4928×3280 до 256×170 свертками с бикубическим фильтром.


    Тем не менее у метода «ближайшего соседа» есть одно неоспоримое преимущество: он работает за константное время относительно размера исходного изображения. Это значит, что не важно, какое большое или маленькое было исходное изображение, время уменьшения до определенного размера будет одинаковым. Я буду приводить примеры на Питоне с библиотекой Pillow , но вы можете получить почти такой же результат с помощью любого языка и библиотек.


    >>> from PIL import Image >>> im = Image.open("pineapple.jpeg"); im.load(); im.size (2560, 1600) >>> %time im.resize((256, 170), Image.NEAREST) Wall time: 0.35 ms >>> im = Image.open("space.jpeg"); im.load(); im.size (4928, 3280) >>> %time im.resize((256, 170), Image.NEAREST) Wall time: 0.44 ms
    В реальности время не совсем константное, поскольку вмешиваются разные факторы вроде кэшей процессора и локальности данных, но даже для в 4 раза большего исходного изображения мы получили замедление лишь на 23%.

    Скорость сверток же, напротив, линейно падает с увеличением исходного изображения.


    >>> from PIL import Image >>> im = Image.open("pineapple.jpeg"); im.load(); im.size (2560, 1600) >>> %time im.resize((256, 170), Image.BICUBIC) Wall time: 33.2 ms >>> im = Image.open("space.jpeg"); im.load(); im.size (4928, 3280) >>> %time im.resize((256, 170), Image.BICUBIC) Wall time: 130 ms

    Для в 4 раза большего исходного изображения время тоже возросло в 4 раза.

    Фиксированное ядро

    Некоторые приложения и библиотеки для работы с графикой пользуются такой хитростью: они как бы используют для ресайза те же фильтры, что и при ресайзе свертками (бывают, например, билинейный, бикубический и фильтр Ланцош), но при уменьшении изображения не увеличивают ядро фильтра адаптивно. В результате для построения любой точки конечного изображения используется только 4 пикселя исходного изображения при билинейном фильтре, при бикубическом - 16, с 3-лобным фильтром Ланцоша - 36. То есть время работы тоже получается константным относительно исходного размера.


    Вот только такой подход работает для уменьшения примерно до 2 раз, а дальше результат мало чем отличается от «ближайшего соседа».



    Из 4928×3280 в 256×170 с билинейным фильтром с фиксированным ядром.


    И говоря «мало чем отличается от „ближайшего соседа“» я имею в виду не только то, что он такой же рваный и зернистый, я имею в виду, что он правда почти совпадает с результатом «ближайшего соседа». Откройте обе картинки в соседних вкладках браузера и попереключайте между ними, картинки почти совпадают. Может даже показаться, что где-то ошибка, что так быть не должно, потому что с фиксированным ядром интерполируется 4 пикселя, а не тупо берется первый попавшийся, и результат должен быть ближе к оригиналу. Но ошибки тут нет и вот почему:



    Точки, которые будут интерполироваться при уменьшении до 20×13.


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



    Из 4928×3280 в 256×170 с бикубическим фильтром с фиксированным ядром.


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


    >>> im = Image.open("space.jpeg"); im.load(); im.size (4928, 3280) # Ближайший сосед >>> %time im.resize((256, 170), Image.NEAREST) Wall time: 0.441 ms # Билинейное фиксированное ядро >>> %time im.transform((256, 170), Image.AFFINE, (im.width / 256, 0, 0, 0, im.height / 170, 0), Image.BILINEAR) Wall time: 3.62 ms # Бикубическое фиксированное ядро >>> %time im.transform((256, 170), Image.AFFINE, (im.width / 256, 0, 0, 0, im.height / 170, 0), Image.BICUBIC) Wall time: 9.21 ms

    Тут я симулировал ресайз с фиксированным ядром с помощью аффинных преобразований. Но некоторые приложения и библиотеки правда делают это: используют для уменьшения более дорогие фильтры, результат которых почти равен методу ближайшего соседа. Так делает OpenCV, так делают , так делают видеокарты при текстурировании без mip-уровней. Потому что хоть время и большее, но оно константное относительно разрешения исходного изображения. Ну а качество? Для качества есть свертки.

    Как исправить

    Вы наверное думаете, для чего я вообще вам это все рассказываю, всё же ясно: если нужна скорость - нужно брать «соседа» или фиксированное ядро, если качество - свертки. А дело в том, что, оказывается, уменьшение с фиксированным ядром можно исправить так, что его результат будет радикально лучше. Настолько лучше, что возможно, для ваших задач, этого окажется достаточно и не понадобятся свертки. Причем сложность не просто будет константой относительно размера исходного изображения, это будет та же самая константа , что и при использовании фиксированного ядра.



    Результат ресайза 4928×3280 в 256×170 за константное время.


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


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



    Точки, которые будут использоваться при уменьшении до 20×13.


    Как видите, все еще берется довольно мало точек исходного изображения. Но из-за того, что они распределены равномерно, они более репрезентативные. А из-за того, что их ровно в 4 раза больше, они все вносят одинаковый вклад в конечное изображение.


    А теперь самое интересное: для использования этого метода не нужно ничего программировать! Все что нужно у вас уже есть. Первым шагом можно сделать равномерную сетку пикселей в 2 раза большего разрешения методом «ближайшего соседа», а на втором шаге сжать её в 2 раза хоть фиксированным фильтром, хоть свертками, хоть бокс-фильтром (смотря что есть в вашей библиотеке). Единственное, для сверток я бы посоветовал брать фильтр Хэмминга или бикубический, но не билинейный.


    >>> im = Image.open("space.jpeg"); im.load(); im.size (4928, 3280) # Пример с не адаптивным ядром >>> %time im.resize((512, 340), Image.NEAREST)\ .transform((256, 170), Image.AFFINE, (2, 0, 0, 0, 2, 0), Image.BILINEAR) Wall time: 3.59 ms # Пример со свертками и фильтром Хэмминга >>> %time im.resize((512, 340), Image.NEAREST)\ .resize((256, 170), Image.HAMMING) Wall time: 2.42 ms # Пример со свертками и бикубическим фильтром >>> %time im.resize((512, 340), Image.NEAREST)\ .resize((256, 170), Image.BICUBIC) Wall time: 3.53 ms # Пример с бокс-фильтром # Результат будет немного отличаться, потому что в OpenCV # есть ошибка с точностью работы INTER_NEAREST # см. https://github.com/opencv/opencv/issues/9096 >>> import cv2 >>> im = cv2.imread("space.jpeg") >>> %time cv2.resize(cv2.resize(im, (512, 340), interpolation=cv2.INTER_NEAREST), (256, 170), interpolation=cv2.INTER_AREA) Wall time: 0.81 ms

    Дальнейшее развитие идеи

    Данное улучшение впечатляет, но можно не останавливаться на достигнутом. Кто сказал, что для построения нужно использоваться именно в 2 раза большее изображение? Почему бы не взять в 3 раза или 4 для лучшего качества. Правда невозможно будет использовать ресайз с фиксированным ядром для второго шага, потому что вылезут те же проблемы, от которых мы пытаемся избавиться. А вот свертки - пожалуйста. При этом время останется константным, просто константа будет побольше.



    Ресайз из 4928×3280 в 256×170 используя 2x и 4x промежуточные изображения.


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



    Ну и время:


    >>> im = Image.open("space.jpeg"); im.load(); im.size (4928, 3280) # Пример с 2x промежуточным изображением >>> %time im.resize((512, 340), Image.NEAREST)\ .resize((256, 170), Image.BICUBIC) Wall time: 3.53 ms # Пример с 3x промежуточным изображением >>> %time im.resize((768, 510), Image.NEAREST)\ .resize((256, 170), Image.BICUBIC) Wall time: 6.27 ms # Пример с 4x промежуточным изображением >>> %time im.resize((1024, 680), Image.NEAREST)\ .resize((256, 170), Image.BICUBIC) Wall time: 9.23 ms

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

    Как сделать правильный выбор

    Возникает вопрос: если этот метод дает настолько лучшие результаты и работает со скоростью фиксированного ядра, зачем вообще использовать фиксированное ядро для уменьшения? У этого метода конечно есть область применимости - его лучше не использовать при уменьшении меньше чем в 2 раза . И это совпадает с границей применимости фиксированного ядра, которое лучше не использовать при уменьшении больше чем в 2 раза . Получается, комбинируя методы, возможно получить ресайз приемлемого качества за фиксированное время при любом масштабе.

    Важное дополнение

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

    Примеры

    И напоследок несколько примеров с другими изображениями. Слева направо:
    1) фиксированное ядро, билинейный фильтр (то, что многие используют сейчас)
    2) бикубические свертки в качестве эталона
    3) суперсемплинг с 2x увеличением
    4) суперсемплинг с 4x увеличением


    Главное при просмотре помнить, что третье изображение генерируется ровно за такое же время, что и первое, а четвертое хоть и дольше в ≈3 раза, но тоже за константное время и часто до 20 раз быстрее, чем второе.

    Уменьшенное в 15,625 раз.


    Изображение 2448×3264 уменьшенное в 9,5625 раз.


    Изображение 2000×2000 уменьшенное в 7,8125 раз.

    Работа по распознаванию изображений состоит из следующих этапов:

    1. Получить отсканированные изображения (сканы).
    2. Открыть их в OCR-программе (FineReader).
    3. Сделать разметку страниц на блоки. То есть, разбить страницу на области, в каждой из которых будет находиться или текст, или рисунки, или таблицы, или другое однородное содержимое.
    4. Собственно распознавание.
    5. Вычитка распознанного, сверка полученного текста и исходных сканов.
    6. Сохранение полученных результатов в одном из документальных форматов (DOC, RTF, PDF, HTML и т. д.).

    При распознавании текстов возможны два варианта: или вы сканируете материал сами, или работаете с уже отсканированным текстом.

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

    Рассмотрим оба варианта по очереди.

    Отсканировать текст в FineReader

    Сканирование запускается через «Файл → Сканировать страницы» или кнопкой меню «Сканировать», или Ctrl-K.

    Рис. 1 Интерфейс сканирования

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

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

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


    Рис. 2. Размытые границы литер



    Рис. 3. Четкие границы литер

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

    Другая причина, которая может помешать различению текста и фона - слишком «плотный» фон страницы. В норме он должен быть или чисто белым, или белым с небольшой примесью какого-нибудь цвета. Если сканируются книги старых изданий, где бумага часто бывает пожелтевшей, то фон тоже может быть желтоватый (но умеренно).

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

    То, какой вид будет у фона, зависит от выставленной яркости сканирования. Ее можно регулировать через движок «Яркость». Для начала имеет смысл поставить 50%, проверить, что при этом будет, при необходимости поправить.

    2. Разборчивость литер текста в основном зависит от яркости и от разрешения сканирования.

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

    Яркость здесь настраивается так же, как и в предыдущем случае - ставим для начала в интерфейсе сканирования 50%, а дальше по ситуации.


    Рис. 4. Страница со слишком большой яркостью



    Рис. 5. Страница со слишком маленькой яркостью (перетемненный фон страницы)



    Рис. 6. А вот эта же страница, но в нормальном виде

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


    Рис. 8. То же самое, но на 200 точек



    Рис. 9. То же самое, но на 400 точек

    При выборе разрешения обычно руководствуются следующими правилами:

    • 300 точек выбирается для книг массовых изданий (страницы заполненные текстом обычного размера, почти без рисунков);
    • 400 точек выбирается для книг и журналов с заметным объемом текста небольшими кеглями (примечания, подписи под рисунками, таблицы, врезки мелким текстом);
    • 600 точек выбирается для книг, напечатанных совсем мелкими кеглями (многие справочники и энциклопедии, книги-миниатюры). Или же с мелкодеталированными рисунками, например, гравюрами. Сюда же надо отнести многие книги издания 1990-х годов - тогда издатели экономили на бумаге и часто печатали совсем крохотульными буквами.

    Интерфейс сканирования в FineReader позволяет выбирать только 300 точек или 600 (строка «Разрешение»). Поэтому если у вас много материала, который желательно делать на 400 точек, то лучше сканировать не из-под FineReader, а из программы, идущей вместе со сканером.

    Или же в настройках FineReader переключиться с собственного интерфейса программы на TWAIN-интерфейс вашего сканера («Сервис → Настройки → закладка «Сканировать/Открыть» → щелкнуть внизу по «Использовать интерфейс сканера»). Тогда вы сможете сканировать из FineReader, но работать будете в интерфейсе сканера (обычно там больший объем настроек и функций).

    3. Ровные, аккуратно выглядящие строчки текста в основном обеспечиваются предобработкой изображения («пред-» в данном случае означает «выполняемое после сканирования, но перед распознаванием»). После правильно сделанной предобработки содержимое страниц будет распознаваться с более высоким качеством.

    FineReader для этого имеет достаточно богатый набор функций, который можно увидеть в настройках программы, на закладке «Сканировать/Открыть». Также это окошко можно вызвать через кнопку «Настройки» в окошке интерфейса сканирования.


    Рис. 10. Настройки предобработки

    «Делить разворот книги» надо выбирать, когда книга сканировалась не постранично, а разворотами. Тогда для распознавания они будут нарезаны постранично.

    «Определять ориентацию страниц» используется в том случае, если книга сканировалась повернутой набок. Тогда она будет развернута в свое нормальное положение. Но если в книге есть страницы, которые напечатаны повернутыми на 90 градусов относительно основной массы, то галочку здесь лучше снять. Иначе при выводе распознанного в PDF вы можете получить часть страниц в «книжной» ориентации, а часть - в «альбомной». Повернуть нужные страницы в этом случае лучше вручную, во встроенном редакторе изображений

    «Исправить перекосы» устраняет перекосы страниц. Настройка однозначно необходимая, но надо иметь в виду, что PDF «Текст под изображением страницы», полученный из таких сканов, будет иметь не совсем аккуратный вид - сероватые клинья по краям страницы (там где делался поворот).

    «Исправить искажения строк» выравнивает изгибы строк, которые при сканировании часто образуются около переплета (их еще называют «усы»).


    Рис. 11. Пример страницы с изгибами строк

    «Устранить трапециевидные искажения» исправляет деформации страниц, появляющиеся если книга не очень плотно прижата к стеклу сканера.

    «Инвертировать изображения» необходима, если в сканируемом материале много текста «светлые буквы на темном фоне» и вы хотите преобразовать их в обычное «темные буквы на светлом фоне».

    «Удалить цветные элементы» полезно, если на странице вида «черные буквы на белом фоне» надо убрать разные ненужности, вроде пометок ручкой на полях, подписей и печатей (офисная документация), а то и просто пятен. Но если на этой же странице есть какие-то сделанные в цвете «нужности» - графики, диаграммы или фотографии, то галочку ставить нельзя. Иначе будут удалены и они.

    «Исправить разрешение изображений» - пункт, требующий более развернутого пояснения, чем предыдущие. Дело в том, что процесс распознавания в FineReader очень чувствителен к тому, какое разрешение выставлено в свойствах данного изображения. От этого существенно зависит то, насколько точно будут определены кегли букв текста, межбуквенные и межстрочные расстояния и прочее подобное. Поэтому галочка здесь необходима. Кроме того, не стоит удивляться, если по ходу распознавания вы будете постоянно получать сообщения FineReader «на странице такой-то неправильно выставлено разрешение и хорошо бы его исправить».

    Кроме настроек предобработки на закладке «Сканировать/Открыть» есть блок настроек «Общее». Здесь задается набор основных действий, которые будут выполнены над открываемыми страницами. Варианты таких действий могут быть следующие:

    1. просто открыть отсканированные изображения, ничего с ними при этом не делая. Для этого надо снять галочку «Автоматически обрабатывать добавленные страницы».
      Подобное имеет смысл только в том случае, если у вас сканы настолько высокого качества, что их уже ничем особенно не улучшишь. Можно сразу отправлять на распознавание. Бывает конечно и такое, но гораздо реже, чем хотелось бы:-), поэтому галочку лучше оставить.
    2. открыть изображения, выполнить предобработку, но до вашей команды пока больше ничего не делать. Для этого надо выбрать пункт «Предобработка изображений».
      Так обычно делают если надо не запускать сразу распознавание, а сначала посмотреть, что получилось в результате предобработки, насколько она хорошо отработала по данному набору изображений.
    3. открыть изображения, выполнить предобработку, выполнить разметку на блоки, распознавание пока не запускать. Для этого надо выбрать пункт «Анализ изображений (включая предобработку)».
      Наиболее часто выбираемый вариант. Сканы у вас вполне приличного качества, то, что с ними сделает предобработка вы хорошо представляете, проверять после нее нет необходимости. Значит соединяем в одно три описанных выше этапа работы с изображениями и начинаем смотреть насколько хорошо сделана разметка.
    4. все этапы распознавания проходят автоматически, без какого-либо промежуточного контроля. Вы сразу получаете готовый результат и начинаете его вычитывать. Для этого надо выбрать пункт «Распознавание изображений (включая предобработку)». Так имеет смысл делать только если у вас сканы хорошего качества и с очень простым внешним видом - например сплошной текст на одном языке и ничего более. Во всех остальных случаях лучше выбирать вариант 2 или 3. Особенно если у вас страницы со сложным форматированием, таблицами, диаграммами, рисунками и т. д.


    Рис. 12. Пример страницы со сложной версткой



    Рис. 13. Пример страницы со сложной версткой

    Открыть изображения в FineReader

    Это второй вариант работы с изображениями: не сканировать их самому, а получить в уже готовом виде и открыть в FineReader. Делается через кнопку «Открыть» в меню основного окна или через «Файл → Открыть PDF или изображение», или через Ctrl-O.


    Рис. 14. Окно «Открыть изображение»

    В открывшемся окошке Проводника выбираете изображения, задаёте необходимые настройки (кнопка «Настройки») и нажимаете «Открыть». Настройки здесь используются те же самые, что описаны для сканирования, работать с ними надо так же.

    Когда страницы открыты в FineReader, то пакет по умолчанию создается безымянным («Документ без имени») и хранится в TMP-папке, только в пределах текущего сеанса работы. Чтобы случайно не потерять результаты работы, рекомендуется сразу же после создания сохранить пакет под каким-нибудь постоянным именем («Файл → Сохранить документ FineReader»).

    Разметка страниц на блоки

    После того, как вы открыли сканы, надо выполнить разметку страниц на блоки. Это делается через «Документ → Анализ документа» или через Ctrl-Shift-E.

    Основных рабочих целей у разметки две.

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

    Во-вторых, еще надо то, что есть текст, разметить по категориям - просто текст, таблицы, примечания (сноски), колонтитулы, оглавления и тому подобное. Чтобы потом, когда вы будете читать распознанное в текстовом редакторе, все эти элементы выглядели бы именно так, как вы и привыкли (были бы отформатированы соответствующим образом).

    Размеченная страница может иметь примерно следующий вид:


    Рис. 15. Окно «Изображение» с размеченной страницей

    Теперь надо просмотреть разметку, сделанную программой на каждой из страниц и при необходимости поправить ее.

    Погрешности разметки обычно бывают следующих видов.

    1. Какая-то часть содержимого страницы (текст, рисунок и т. д.) выделена правильно в смысле границ области, но ей присвоено не то содержимое. Например, фрагмент текста размечен, как рисунок или наоборот.

    В этом случае надо щелкнуть мышью по такой области, открыть контекстное меню, выбрать в нем «Изменить тип области», в открывшейся подменюшке выбрать требуемый тип («Текст», «Таблица», «Картинка», «Фоновая картинка», «Штрих-код»).


    Рис. 16. Контекстное меню «Изменить тип области»

    Быстро посмотреть где какая область можно по цвету рамок. «Текст» выделяется рамками темно-зеленого цвета, «Таблица» - синего, «Картинка» - светло-красного, «Фоновая картинка» - темно-красного, «Штрих-код» - светло-зеленого.

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


    Рис. 17. Страница с некорректно сделанной разметкой

    К верхней области «картинка» прихвачены окружающие ее подписи (должны быть размечены, как «текст»).

    В нижнюю область «картинка» при разметке не попала часть изображения.

    Чтобы это поправить, надо сначала щелкнуть в окошке «Изображение» по кнопке «Стрелка».

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

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


    Рис. 18. Из разметки выпала формула (не попала ни в один из блоков)

    Здесь надо будет создать на странице новую область (выделить пропущенную часть страницы рамкой), а затем присвоить созданной области нужный тип.

    Для этого надо сначала щелкнуть в окошке «Изображение» по значку «Выделить зону распознавания»

    После этого обвести нужный участок рамкой (как обычно в графическом редакторе выделяют часть рисунка) и наконец задать тип области. Последняя операция уже описана в пункте 1.

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

    Регулируется он через контекстное меню. Щелкаете по нужной области «Текст» на проверяемой странице, в контекстном меню выбираете пункт «Назначение текста», внутри его подменюшки смотрите против какого пункта стоит галочка (обычно это «Автоопределение»). Если стоит не там, где надо, переключаетесь на нужный элемент.


    Рис. 19. Контекстное меню «Назначение текста»

    Распознавание

    После того, как исправлены ошибки в разметке, можно запускать распознавание. Это делается через «Документ → Распознать документ» или через Ctrl-Shift-R. Перед этим не забудьте выставить язык распознавания и задать необходимые настройки.

    Язык выставляется через окошко «Язык документа» в панели кнопок основного окна программы.


    Рис. 20. Выбор языка через основное меню

    Или в настройках («Сервис → Настройки → закладка «Документ»).


    Рис. 21. Выбор языка через настройки FineReader

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

    В настройках распознавания («Сервис → Настройки → закладка «Распознать») режим распознавания лучше оставить в умолчательном значении («Тщательное распознавание»). «Быстрое распознавание» имеет смысл ставить только если у вас что-то несложное по виду и с очень хорошим качеством сканирования. Например, отсканированная в черно-белом распечатка текстового документа без иллюстраций.


    Рис. 22. Настройки, закладка «Распознать»

    Из остальных настроек основное значение имеет группа «Определение структурных элементов». Здесь перечислены детали оформления страниц: сноски (примечания), колонтитулы, списки, оглавления. Когда против элемента поставлена галочка, он будет распознан и сохранен в DOC/RTF/DOCX не просто как часть текста на странице, а именно, как сноска, колонтитул, список или оглавление.

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

    Вычитка

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

    Функция «Проверка» запускается кнопкой в правом верхнем углу меню или через Ctrl-F7. Ее работа построена на том, что во время распознавания FineReader помечает символы и слова, которые были распознаны с недостаточно высоким уровнем достоверности. То есть, у программы по их поводу есть некоторое сомнение «может это действительно тот символ, который вам предъявлен, но может быть и что-то другое». Во время проверки такие сомнительные места по очереди показываются пользователю, чтобы он при необходимости их поправил.

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


    Рис. 23. Окно «Проверка»

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

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

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

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


    Рис. 24. Пример работы в одновременно открытых окнах «Проверка», «Текст» и «Крупный план»

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

    Места, требующие проверки, там отображаются в полном объеме - это символы и слова, выделенные светло-голубым. Возможность перемещаться от ошибки к ошибке, не просматривая всю страницу целиком, тоже имеется - кнопки «Следующая ошибка» и «Предыдущая ошибка» на панели кнопок с левой стороны окна.

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

    Но, как это часто бывает, теория здесь расходится с повседневной практикой работы. В распознанных текстах систематически встречаются ошибочные места, которые, как ошибки, не помечены. То есть FineReader распознает какой-то символ/слово неверно, но при этом с полной уверенностью, что распознал правильно.

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

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


    Рис. 25. Вычитка с помощью окон «Текст» и «Крупный план»

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

    Сохранение результатов

    Когда отсканированный материал распознан и вычитан, его надо сохранить в одном из документальных форматов - DOC, DOCX, RTF, PDF, HTML и т. д. Это делается через «Файл → Сохранить документ как → выбрать нужный формат» или через кнопку «Сохранить» в основном меню FineReader.

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


    Рис. 26. Окно сохранения распознанного текста

    Обычная практика распознавания - на вход поступает отсканированный текст книги или журнала, на выходе все его страницы сохраняются в файл с названием этой книги. Именно такая настройка «Создавать один файл для всех страниц» стоит по умолчанию в строке «Опции файла». Если же у вас распознается не какой-то цельный текст, а просто россыпь страниц (например офисная документация), то здесь надо будет выставить «Сохранять отдельный файл для каждой страницы».

    Настройки сохранения в форматах DOC, DOCX, RTF


    Рис. 27. Настройки сохранения в DOC/DOCX/RTF

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

    Вариантов выбора здесь четыре: «Точная копия», «Редактируемая копия», «Форматированный текст» и «Простой текст».

    1. «Точная копия».

    По замыслу разработчиков здесь должно было быть практически зеркальное подобие распознаваемой страницы. Именно потому так и названо. С точным воспроизведением шрифтов, размеров букв (кеглей), расстояний между буквами в словах, расстояний между словами, строками и абзацами и других деталей верстки. Идея, в общем-то, неплохая, но возможности реализовать ее в задуманном объеме у FineReader обычно не хватает.

    Шрифты и их начертание (Normal, Italic, Bold) часто воспроизводятся по принципу «как выйдет, так и получится». Могут быть переданы точно. Может случиться так, что шрифт, использованный на распознаваемой странице, будет замещен другим шрифтом (сходным по виду, но другим). Может случиться так, что начертание Normal будет распознано как Bold или же наоборот. И так далее, и тому подобное.

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

    В результате получается не очень понятно что - Word-документ, который можно только читать (ну и копировать оттуда текст). Редактировать его за пределами «пару букв убрать, пару букв вставить» малореально. А редактировать таки требуется - он ведь дальше пойдет в какую-то работу, а значит надо будет переделывать форматирование под потребности будущего использования.

    С одной стороны весь текст здесь раскидан по многочисленным фреймам, что изрядно осложняет работу с ним. С другой стороны во время распознавания программа генерирует кучу Word’овских стилей - все форматирование в тексте делается исключительно через стили. Вполне обычно, когда на текст книги среднего размера (300-400 страниц) генерируется несколько сотен различных стилей. Что еще больше усложняет редактирование.

    Резюме - выбирать этот режим сохранения особого смысла не имеет, работать с сохраненным текстом здесь достаточно неудобно.

    Если же вам требуется полное воспроизведение внешнего вида оригинала, то это и проще, и практичнее сделать в виде PDF «Текст под изображением страницы» или же PDF «Только текст и картинки» (об этих способах вывода немного ниже).

    2. «Редактируемая копия».

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

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

    Причина та же самая - слишком много возни по преобразованию текста из того вида, который выдаст «Редактируемая копия», в тот вид, который может потребоваться вам. Все еще осталось какое-то количество текста во фреймах, в форматировании все еще сохраняется тенденция точно воспроизводить внешний вид (верстку) оригинала. Да и привычка генерировать кучу стилей никуда не делась.

    Резюме - работать с текстом здесь не так хлопотно, как в «Точной копии», но по прежнему оставляет желать лучшего.

    3. «Форматированный текст».

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

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

    4. «Простой текст».

    Хотя он называется «Простой текст», но здесь можно сохранять как сам текст, так и текст с картинками. Форматирование в этом варианте сведено к минимуму - обычные Word’овские абзацы от одного края страницы до другого, плюс воткнутые между ними картинки. Привычная по предыдущим вариантам куча стилей тоже не генерируется.

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

    Обычно для сохранения выбирается или «Форматированный текст», или «Простой текст» - в зависимости от того, что вы собираетесь делать дальше и как использовать распознанное.

    Теперь об остальных настройках этого окна.

    1. «Размер бумаги по умолчанию».
      Здесь задается Word’овская настройка «Параметры страницы → Размер бумаги», то есть на бумаге какого формата вы будете делать распечатку. Обычно выставляется А4. Но надо иметь в виду, что в режимах «Точная копия» и «Редактируемая копия» один к одному сохраняется не только содержимое распознанной страницы, но и ее исходный размер. В результате если поставить здесь формат бумаги, больший, чем размер страницы, то при печати вокруг текста будут пустые поля. Если же поставить меньший формат, то часть материала страницы может быть потеряна (окажется за границами листа бумаги).
    2. «Сохранять переносы и деление на строки».
      Если галочка поставлена, то будет сохранена та разбивка на строки, которая имеется в оригинале. Переносы строк в этом случае делаются мягкими. Если галочки не ставить, то текст пойдет обычными Word-овскими абзацами, со строками от одного края страницы до другого.
    3. «Сохранять деление на страницы».
      Если галочка поставлена, то будет сохранена та разбивка на страницы, которая имеется в оригинале. Если галочки не ставить, то текст на страницы будет разбивать сам Word.
    4. «Сохранять колонтитулы и номера страниц».
      Если галочка поставлена, то текст, размеченный и распознанный, как колонтитулы и номера страниц, будет сохранен и размещен в соответствующих Word-овских полях. Если галочку не ставить, то эта часть текста вообще не выводится.
    5. «Сохранять номера строк».
      Если галочка поставлена, то в списках с пронумерованными строками будет сохранена нумерация этих строк.
    6. «Сохранять цвет фона и букв».
      Если галочка поставлена, то текст, напечатанный в цвете (или на цветном фоне), будет выведен, как в оригинале. Если галочки не ставить, то весь текст будет выводиться обычным образом - черным на белом фоне (или на белым на черном фоне).
    7. «Сохранять полужирный шрифт, курсив и подчеркивание в простом тексте».
      Вывод в «Простой текст» можно делать по принципу «все одним и тем же начертанием, Normal», а можно с сохранением начертания, которое было в оригинале. Здесь как раз этот момент и регулируется.
    8. «Выделять неуверенно распознанные символы».
      Эту галочку надо ставить если вы предпочитаете вычитывать распознанный текст не в FineReader, а в каком-нибудь текстовом редакторе. Тогда все пометки символов и слов, которые у вас были в окне «Текст», будут воспроизведены в сохраненном документе.
    9. «Сохранять картинки».
      Определяется будут ли кроме текста сохраняться еще и изображения.
    10. «Качество картинок».
      Здесь определяется степень сжатия изображений из оригинала. Оно может регулироваться по трем направлениям - через различные алгоритмы сжатия, через разрешение сохраняемого изображения и через глубину цвета в нем. Подробности можно посмотреть, если в строке «Качество картинок» выбрать вариант «Пользовательское». Наиболее практично пользоваться именно им, а не пресетами «Небольшой размер (150 dpi)» и «Высокое качество (разрешение исходного изображения)».


    Рис. 28. Окно настройки качества изображения

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

    Глубину цвета ставите по ситуации. Если изображения нужны, как есть, то выбираете «Не менять цветность изображения». Если достаточно просто общего вида, точное воспроизведение цветов не обязательно, то выбираете «Конвертировать цветные изображения в серые». Преобразование цветных и серых изображений в черно-белые лучше не выбирать, потому что бинаризация может давать много искажений (причем плохо предсказуемых). Пункт «Автоматически» тоже лучше не выбирать - не очень понятно какая логика работы там заложена и что вы при этом будете получать на выходе.

    Настройки сохранения в форматах PDF и PDF/A


    Рис. 29. Настройки сохранения в PDF

    Режимов сохранения здесь тоже четыре: «Только текст и картинки», «Текст поверх изображения страницы», «Текст под изображением страницы», «Только изображение».

    1. «Только текст и картинки».
      Здесь вы фактически получите PDF-вариант того, что выдается в «Точной копии» - распознанный текст и иллюстрации из окна «Текст» в виде, максимально приближенном к оригиналу. Качество воспроизведения оригинала здесь выше, чем в DOC/DOCX/RTF, поскольку PDF-формат имеет для этого заметно больше возможностей.
    2. «Текст поверх изображения страницы».
      Это PDF, состоящий из двух слоев - исходное изображение (нижний слой), на которое наложен распознанный текст (верхний слой). Такой вариант достаточно удобен, если PDF потом будет редактироваться
    3. «Текст под изображением страницы».
      Это PDF составленный из тех же двух слоев - исходное изображение и распознанный текст. Только они идут в обратном порядке - изображение верхним слоем, текст нижним (невидимым) слоем. Такой способ вывода еще называется «PDF с текстовой подложкой» и используется, когда надо получить с одной стороны точную копию внешнего вида оригинала, а с другой стороны возможность копировать текст этого оригинала.
    4. «Только изображение».
      Это PDF, собранный из исходных изображений. Кроме самих изображений там больше ничего нет.

    Теперь об остальных настройках этого окошка.

    1. «Размер бумаги по умолчанию».

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

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

    2. «Сохранять цвет фона и букв».

    3. «Сохранять колонтитулы».

    Смысл этих двух настроек такой же, как и в предыдущем случае.

    4. «Создать оглавление».

    Если в настройках распознавания была поставлена галочка «Определение структурных элементов → Оглавление», то распознанное таким образом оглавление книги может быть использовано для автоматического создания оглавления в PDF-файле.

    5. «Разрешить теги PDF».

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

    Если вам надо будет часто копировать из PDF куски текста, то галочку здесь стоит поставить. Тогда скопированный текст будет гораздо больше соответствовать тому, как он выглядит на странице PDF.

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

    6. «Использовать смешанное растровое содержимое (MRC)».

    MRC (Mixed Raster Content) - это название технологии сжатия, способной давать заметно большие кратности сжатия, чем известные всем JPEG и JPEG 2000. Многие знакомы с ней по формату DjVu - он построен именно на базе MRC. Выбор «надо ставить галочку или нет» здесь неоднозначный и определяется исходя из вашего расклада дел.

    Основной плюс - размер получаемого PDF. Может быть в несколько раз меньше PDF, полученного с теми же настройками сжатия, но без MRC.

    Какие могут быть минусы:

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

    Заметно большая ресурсоемкость при сжатии и просмотре таких PDF. Даже на сегодняшних компьютерах MRC-PDF может открываться и пролистываться не привычно-плавно, а скачками, когда очередная страница выводится на экран не вся сразу, а по частям.

    7. «Сохранять картинки».

    8. «Качество изображения».

    Смысл этих настроек такой же, как и в предыдущем случае - надо или не надо при создании PDF сохранять изображения и с каким уровнем сжатия их сохранять. Рекомендации тоже аналогичные - убрать галочку из «Уменьшить исходное разрешение», цветность лучше не менять, движок «Качество» выставлять по аналогии со сжатием в JPEG 2000.

    9. «Шрифты».

    Если поставить «Использовать шрифты Windows», то для распознавания и последующего вывода будет использоваться тот набор шрифтов, который установлен у вас на компьютере. Если поставить «Использовать предопределенные шрифты», то только тот комплект шрифтов, который устанавливается при инсталляции FineReader.

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

    10. «Встраивать шрифты».

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

    11. «Параметры защиты PDF».

    Здесь можно выставить парольную защиту на просмотр PDF, печать, копирование из него текста и рисунков, редактирование.

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

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

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

    Наиболее популярными на сегодняшний день являются следующие цветовые модели: RGB (используется в основном в мониторах и камерах), CMY(K) (используется в полиграфии), HSI (широко используется в машинном зрении и дизайне). Существует множество других моделей. Например, CIE XYZ (стандартные модели), YCbCr и др. Далее дан краткий обзор этих цветовых моделей.

    Цветовой куб RGB

    Из закона Грассмана возникает идея аддитивной (т.е. основанной на смешении цветов от непосредственно излучающих объектов) модели цветовоспроизведения. Впервые подобная модель была предложена Джеймсом Максвеллом в 1861 году, но наибольшее распространение она получила значительно позже.

    В модели RGB (от англ. red – красный, green – зелёный, blue – голубой) все цвета получаются путём смешения трёх базовых (красного, зелёного и синего) цветов в различных пропорциях. Доля каждого базового цвета в итоговом может восприниматься, как координата в соответствующем трёхмерном пространстве, поэтому данную модель часто называют цветовым кубом. На Рис. 1 представлена модель цветового куба.

    Чаще всего модель строится так, чтобы куб был единичным. Точки, соответствующие базовым цветам, расположены в вершинах куба, лежащих на осях: красный – (1;0;0), зелёный – (0;1;0), синий – (0;0;1). При этом вторичные цвета (полученные смешением двух базовых) расположены в других вершинах куба: голубой - (0;1;1), пурпурный - (1;0;1) и жёлтый – (1;1;0). Чёрный и белые цвета расположены в начале координат (0;0;0) и наиболее удалённой от начала координат точке (1;1;1). Рис. показывает только вершины куба.

    Цветные изображения в модели RGB строятся из трёх отдельных изображений-каналов. В Табл. показано разложение исходного изображения на цветовые каналы.

    В модели RGB для каждой составляющей цвета отводится определённое количество бит, например, если для кодирования каждой составляющей отводить 1 байт, то с помощью этой модели можно закодировать 2^(3*8)≈16 млн. цветов. На практике такое кодирование избыточно, т.к. большинство людей не способно различить такое количество цветов. Часто ограничиваются т.н. режимом «High Color» в котором на кодирование каждой компоненты отводится 5 бит. В некоторых приложениях используют 16-битный режим в котором на кодирование R и B составляющих отводится по 5 бит, а на кодирование G составляющей 6 бит. Этот режим, во-первых, учитывает более высокую чувствительность человека к зелёному цвету, а во-вторых, позволяет более эффективно использовать особенности архитектуры ЭВМ. Количество бит, отводимых на кодирование одного пиксела называется глубиной цвета. В Табл. приведены примеры кодирования одного и того же изображения с разной глубиной цвета.

    Субтрактивные модели CMY и CMYK

    Субтрактивная модель CMY (от англ. cyan - голубой, magenta - пурпурный, yellow - жёлтый) используется для получения твёрдых копий (печати) изображений, и в некотором роде является антиподом цветового RGB-куба. Если в RGB модели базовые цвета – это цвета источников света, то модель CMY – это модель поглощения цветов.

    Например, бумага, покрытая жёлтым красителем не отражает синий свет, т.е. можно сказать, что жёлтый краситель вычитает из отражённого белого света синий. Аналогично голубой краситель вычитает из отражённого света красный, а пурпурный краситель вычитает зелёный. Именно поэтому данную модель принято называть субтрактивной. Алгоритм перевода из модели RGB в модель CMY очень прост:

    При этом предполагается, что цвета RGB находятся в интервале . Легко заметить, что для получения чёрного цвета в модели CMY необходимо смешать голубой, пурпурный и жёлтый в равных пропорциях. Этот метод имеет два серьёзных недостатка: во-первых, полученный в результате смешения чёрный цвет будет выглядеть светлее «настоящего» чёрного, во-вторых, это приводит к существенным затратам красителя. Поэтому на практике модель СMY расширяют до модели CMYK, добавляя к трём цветам чёрный (англ. black).

    Цветовое пространство тон, насыщенность, интенсивность (HSI)

    Рассмотренные ранее цветовые модели RGB и CMY(K) весьма просты в плане аппаратной реализации, но у них есть один существенный недостаток. Человеку очень тяжело оперировать цветами, заданными в этих моделях, т.к. человек, описывая цвета, пользуется не содержанием в описываемом цвете базовых составляющих, а несколько иными категориями.

    Чаще всего люди оперируют следующими понятиями: цветовой тон, насыщенность и светлота. При этом, говоря о цветовом тоне, обычно имеют в виду именно цвет. Насыщенность показывает насколько описываемый цвет разбавлен белым (розовый, например, это смесь красного и белого). Понятие светлоты наиболее сложно для описания, и с некоторыми допущениями под светлотой можно понимать интенсивность света.

    Если рассмотреть проекцию RGB-куба в направлении диагонали белый-чёрный, то получится шестиугольник:

    Все серые цвета (лежащие на диагонали куба) при этом проецируются в центральную точку. Чтобы с помощью этой модели можно было закодировать все цвета, доступные в RGB-модели, необходимо добавить вертикальную ось светлоты (или интенсивности) (I). В итоге получается шестигранный конус:

    При этом тон (H) задаётся углом относительно оси красного цвета, насыщенность (S) характеризует чистоту цвета (1 означает совершенно чистый цвет, а 0 соответствует оттенку серого). Важно понимать, что тон и насыщенность не определены при нулевой интенсивности.

    Алгоритм перевода из RGB в HSI можно выполнить, воспользовавшись следующими формулами:

    Цветовая модель HSI очень популярна среди дизайнеров и художников, т.к. в этой системе обеспечивается непосредственный контроль тона, насыщенности и яркости. Эти же свойства делают эту модель очень популярной в системах машинного зрения. В Табл. показано изменение изображения при увеличении и уменьшении интенсивности, тона (выполняется поворот на ±50°) и насыщенности.

    Модель CIE XYZ

    С целью унификации была разработана международная стандартная цветовая модель. В результате серии экспериментов международная комиссия по освещению (CIE) определила кривые сложения основных (красного, зелёного и синего) цветов. В этой системе каждому видимому цвету соответствует определённое соотношение основных цветов. При этом, для того, чтобы разработанная модель могла отражать все видимые человеком цвета пришлось ввести отрицательное количество базовых цветов. Чтобы уйти от отрицательных значений CIE, ввела т.н. нереальные или мнимые основные цвета: X (мнимый красный), Y (мнимый зелёный), Z (мнимый синий).

    При описании цвета значения X,Y,Z называют стандартными основными возбуждениями, а полученные на их основе координаты – стандартными цветовыми координатами. Стандартные кривые сложения X(λ),Y(λ),Z(λ) (см. Рис.) описывают чувствительность среднестатистического наблюдателя к стандартным возбуждениям:

    Помимо стандартных цветовых координат часто используют понятие относительных цветовых координат, которые можно вычислить по следующим формулам:

    Легко заметить, что x+y+z=1, а это значит, что для однозначного задания относительных координат достаточно любой пары значений, а соответствующее цветовое пространство может быть представлено в виде двумерного графика:

    Множество цветов, задаваемое таким способом, называют треугольником CIE.
    Легко заметить, что треугольник CIE описывает только цветовой тон, но никак не описывает яркость. Для описания яркости вводят дополнительную ось, проходящую через точку с координатами (1/3;1/3) (т.н. точку белого). В результате получают цветовое тело CIE (см. Рис.):

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

    Модель CIELAB

    Основной целью при разработке CIELAB было устранение нелинейности системы CIE XYZ с точки зрения человеческого восприятия. Под аббревиатурой LAB обычно понимается цветовое пространство CIE L*a*b*, которое на данный момент является международным стандартом.

    В системе CIE L*a*b координата L означает светлоту (в диапазоне от 0 до 100), а координаты a,b – означают позицию между зелёным-пурпурным, и синим-жёлтым цветами. Формулы для перевода координат из CIE XYZ в CIE L*a*b* приведены ниже:


    где (Xn,Yn,Zn) – координаты точки белого в пространстве CIE XYZ, а


    На Рис. представлены срезы цветового тела CIE L*a*b* для двух значений светлоты:

    По сравнению с системой CIE XYZ Евклидово расстояние (√((L1-L2)^2+(a1^*-a2^*)^2+(b1^*-b2^*)^2)) в системе CIE L*a*b* значительно лучше соответствует цветовому различию, воспринимаемому человеком, тем не менее, стандартной формулой цветового различия является чрезвычайно сложная CIEDE2000.

    Телевизионные цветоразностные цветовые системы

    В цветовых системах YIQ и YUV информация о цвете представляется в виде сигнала яркости (Y) и двух цветоразностных сигналов (IQ и UV соответственно).

    Популярность этих цветовых систем обусловлена в первую очередь появлением цветного телевидения. Т.к. компонента Y по сути содержит исходное изображение в градациях серого, сигнал в системе YIQ мог быть принят и корректно отображён как на старых чёрно-белых телевизорах, так и на новых цветных.

    Вторым, возможно более важным плюсом, этих пространств является разделение информации о цвете и яркости изображения. Дело в том, что человеческий глаз весьма чувствителен к изменению яркости, и значительно менее чувствителен к изменению цветности. Это позволяет передавать и хранить информацию о цветности с пониженной глубиной. Именно на этой особенности человеческого глаза построены самые популярные на сегодняшний день алгоритмы сжатия изображений (в т.ч. jpeg). Для перевода из пространства RGB в YIQ можно воспользоваться следующими формулами:

    §5 . Работа с фрагментами изображения

    Прежде чем что-либо делать с фрагментом изображения, его необходимо выделить.

    Выделение фрагмента

    Фрагмент изображения выделяется с помощью инструмента «Выделение» (фигурные или прямоугольные ножницы).

    Вокруг выделенного фрагмента появляется пунктирная рамка:

    Если не получилось вырезать правильно, щелкните мышью в каком-нибудь месте экрана и повторите.


    При выборе инструмента Выделение появляется Панель Настройки :

    Копирование с прозрачным фоном

    Копирование с непрозрачным фоном

    Устанавливать прозрачность можно также в меню Рисунок.

    Если над выделенным фрагментом щелкнуть правой кнопкой мыши, появится контекстное меню, в котором можно выбрать нужную команду –

    С фрагментом изображения можно выполнять следующие действия

    Очистить;

    Переместить в другое место;

    Увеличить или уменьшить;

    Скопировать;

    Размножить;

    Отразить или повернуть на угол;

    Растянуть или наклонить относительно горизонтальной или вертикальной оси;

    Обратить цвета (т.е. поменять цвета на противоположные).

    Перемещение фрагмента:

    Установить курсор мыши внутри вырезанного фрагмента, при нажатой левой кнопки мыши поместить фрагмент в нужное место.

    Копирование фрагмента:

    1 способ – установить курсор мыши внутри вырезанного фрагмента, переместить рисунок при нажатой клавише Ctrl;

    2 способ – выделить фрагмент, скопировать в буфер обмена (Правка, Копировать или Ctrl+C), вставить из буфера обмена (Правка, Вставить или Ctrl+V).

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

    Задание «Периферия»

    1. Откройте файл «рисунки\ периферия.bmp» и сверните его.

    2. Запустите еще Paint. Установите размер листа 800 х 600. Сохраните файл под именем «5-периферия.bmp»

    3. Разделите лист на две равные части – проведите горизонтальную линию. В верхней части будете размещать устройства ввода, в нижней – устройства вывода.

    4. Переключитесь в рисунок «периферия.bmp» (с помощи панели задач, внизу экрана), выделите одно из устройств, скопируйте его в буфер обмена, переключитесь в «5-периферия.bmp», вставьте, переместите либо в верхнюю, либо в нижнюю часть.

    5. Проделайте это со всеми картинками. Сохраните файл.

    Задание «Портрет любимого удава»

    1. Откройте файл «рисунки\ удав.bmp» и сверните его.

    2. Запустите еще Paint. Установите размер листа 270 х 400. Сохраните файл под именем «5-удав.bmp»

    3. Нарисуйте рамку для фотографии (белый круг – цвет фона)

    4. Выделите ее, скопируйте в буфер обмена, переключитесь в «удав.bmp» и вставьте.

    5. Переместите рамку так, чтобы в ее центре оказалась голова удава (фон – прозрачный).

    6. Выделите рамку (уже с головой), скопируйте в буфер обмена, переключитесь в «5-удав.bmp» и вставьте.

    7. Сохраните файл.

    Размножение фрагмента:

    Перемещать рисунок при нажатой клавише Shift. Количество копий, получаемых при этом, зависит от скорости, с которой перемещается мышь (из круга)

    (из бабочки)

    Изменить размер:

    1 способ – выделить фрагмент, переместить боковой или угловой маркер выделения (курсор мыши должен принять форму двойной стрелки);

    2 способ – меню Рисунок, команда Растянуть/Наклонить, установить новый размер в процентах.

    Если размер должен увеличиться, то числа должны быть больше 100, уменьшиться – меньше 100.

    Если числа – одинаковые, то рисунок изменится пропорционально, если разные, то рисунок станет выше/ниже или тоньше/толще.

    Отразить и повернуть:

    Весь рисунок или выделенный фрагмент можно отразить (сверху вниз или слева направо) и повернуть на угол 90, 180, 270 градусов. (Меню Рисунок)

    – отражение слева направо,

    – сверху вниз

    поворот на 90, поворот на 180 поворот на 270

    Наклонить

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

    наклон по горизонтали на 30 градусов

    по вертикали на 30 градусов

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

    Задание «Бабочки»

    1. Запустите Paint. Нарисуйте бабочку.

    2. Сначала отдельно нарисуйте к ней все фрагменты:

    3. Скопируйте и поверните части крыльев, усик.

    4. Соедините одно крыло, потом второе, затем поставьте их рядом, поместите между ними тело, поставьте усики.

    5. Проделайте с бабочкой все операции – перемещение, копирование, размножение, увеличение, уменьшение, отражение, поворот, растяжение, наклон, обращение цветов.

    5) Какими инструментами вы воспользовались для рисования объектов из задания "Лес"?

    6) Какие действия использовали для получения леса?

    7) Чем отличаются выполнение команд Копировать и Размножить?

    8) Что нужно сделать, чтобы изображение перевернулось вниз?

    9) Что нужно сделать, чтобы изображение стало меньше?

    10) Что нужно сделать, чтобы изображение повернулось налево?

    11) Какой цвет является противоположным белому, желтому, красному?

    Понравилась статья? Поделиться с друзьями: