Transcript
Page 1: 02-Изображения-1

Часть 0Часть 022. Изображения. ИзображенияЧасть 0Часть 022. Изображения. Изображения

2.1.2.1.ЦЦветовые пространства(ветовые пространства(ссистемы цвето-истемы цвето-представлений)представлений)

2.2.2.2.Типы изображенийТипы изображений

2.2.33..Типы приложенийТипы приложений

2.2.44.. Требования приложений к алгоритмам Требования приложений к алгоритмам компрессиикомпрессии

2.2.55..ММетоды обхода плоскостиетоды обхода плоскости

2.2.66..ССжатие без потерьжатие без потерь

2.2.77..ССжатие с потерямижатие с потерями

2.1.2.1.ЦЦветовые пространства(ветовые пространства(ссистемы цвето-истемы цвето-представлений)представлений)

2.2.2.2.Типы изображенийТипы изображений

2.2.33..Типы приложенийТипы приложений

2.2.44.. Требования приложений к алгоритмам Требования приложений к алгоритмам компрессиикомпрессии

2.2.55..ММетоды обхода плоскостиетоды обхода плоскости

2.2.66..ССжатие без потерьжатие без потерь

2.2.77..ССжатие с потерямижатие с потерями

Page 2: 02-Изображения-1

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

Все изображения можно подразделить на две группы с палитрой и без нее. У изображений с палитрой в пикселе (pixel - picture element) хранится число - индекс в некотором одномерном векторе цветов называемом палитрой. Чаще всего встречаются палитры 16 и 256 цветов.

Page 3: 02-Изображения-1

1.1 RGB (Red, Green, Blue)

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

RGB32(RGBA) – Красный-8 бит, Зеленый-8 бит, Синии-8 бит, Альфа – 8 бит

RGB24 – Красный-8 бит, Зеленый-8 бит, Синии-8 бит

RGB16(565 или 555) – Красный-5 бит, Зеленый-6 или 5 бит, Синии-5 бит

Page 4: 02-Изображения-1

1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)

Page 5: 02-Изображения-1

1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)1.1 RGB (Red, Green, Blue)

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

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

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

Диапазон воспроизводимых цветов модели или устройства называется цветовым охватом. Одним из серьезных недостатков аддитивной модели является ее узкий цветовой охват.

Еще одним недостатком модели следует считать аппаратную зависимость.

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

Еще один недостаток этой цветовой модели - она является неинтуитивной. Оперируя в ее среде, бывает трудно ответить на самые простые вопросы, относящиеся к цветовому синтезу. Например, как следует изменить цветовые координаты, чтобы сделать текущий цвет немного ярче или уменьшить его насыщенность?

Page 6: 02-Изображения-1

1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value).Оттенок, насыщенность, яркость.

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

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

Насыщенность описывает чистоту цвета. Один и тот же тон может быть тусклым или насыщенным. Изменение насыщенности можно представить как разбавление чистого хроматического цвета белым или серым.

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

Page 7: 02-Изображения-1

1.2 HSB (Hue, Saturation, Brightness). 1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value)HSV (Hue, Saturation, Value)1.2 HSB (Hue, Saturation, Brightness). 1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value)HSV (Hue, Saturation, Value)

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

Еще одним несомненным достоинством системы HSB является ее независимость от аппаратуры. Примерно такую оценку могли бы дать системе HSB пользователи и разработчики компьютерных программ.

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

Page 8: 02-Изображения-1

1.2 HSB (Hue, Saturation, Brightness). 1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value)HSV (Hue, Saturation, Value)1.2 HSB (Hue, Saturation, Brightness). 1.2 HSB (Hue, Saturation, Brightness). HSV (Hue, Saturation, Value)HSV (Hue, Saturation, Value)

If MAX = MIN (i.e. S = 0), then H is undefined.

If MAX = 0 (i.e. if V = 0), then S is undefined.

                         .

Для цилиндра: Для конуса:

1.2 RGB → HSV

Исходные данные: значения (R,G,B) от 0 до 1

Результат: значения (Н,S,V) 0 ≤ (H mod 360) ≤ 360 , 0 ≤ S ≤ 1 , 0 ≤ V ≤ 1

Page 9: 02-Изображения-1

1.3 CMYK (Cyan, Magenta, Yellow, blacK – Голубой, Пурпурный, Желтый, Черный).

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

Page 10: 02-Изображения-1

1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )

Большинство окружающих нас объектов источниками не являются. Они не излучают, а поглощают и отражают падающий свет в разных пропорциях. Как возникает цветность подобных объектов? Все пассивные объекты, т. е. объекты, не являющиеся излучателями, мы видим в отраженном цвете. Если яблоко имеет красный цвет, то это значит, что оно отражает длинные волны, принадлежащие красной, начальной части спектра, и поглощает короткие. Для описания таких явлений используется цветовая модель, которая объясняет порождение цветов не как результат сложения, а как результат вычитания базовых цветов.

Page 11: 02-Изображения-1

1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )

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

Система CMY с дополнительной черной составляющей (добавляемой для качества черного цвета) называется CMYK. Черный цвет (Black) представлен в названии последней буквой для того, чтобы не путать его в сокращениях и аббревиатурах с синим (Blue). Эта система служит теоретической основой цифровой печати. Цветовые координаты рассматриваются как красители, которые наносятся на поверхность бумаги, поэтому интенсивность каждой координаты измеряется в процентах от 0 (отсутствие краски) до 100 (максимальная плотность краски).

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

Page 12: 02-Изображения-1

1.3 RGB → CMYK

1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )1.3 CMYK (Cyan, Magenta, Yellow, blacK )

Page 13: 02-Изображения-1

1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - quadrature ).

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

Y – luminance, luminosity, luma - яркость

I – оранжево-голубая ось

Q –зелено-фиолетовая ось Chrominance,Chroma - цветность

Page 14: 02-Изображения-1

1.4 YIQ (Y – luminance, I - 1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - intermodulation (In-phase), Q - quadrature ).quadrature ).

1.4 YIQ (Y – luminance, I - 1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - intermodulation (In-phase), Q - quadrature ).quadrature ).

Page 15: 02-Изображения-1

1.4 YIQ (Y – luminance, I - 1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - intermodulation (In-phase), Q - quadrature ).quadrature ).

1.4 YIQ (Y – luminance, I - 1.4 YIQ (Y – luminance, I - intermodulation (In-phase), Q - intermodulation (In-phase), Q - quadrature ).quadrature ).

YIQ используется в системе телевидения NTSC. Разделение на канал яркости и цвета было необходимо для обратной совместимости с черно-белыми теле-приемниками.

YIQ и RGB

Y= 0.299*R + 0.587*G + 0.114*BI = 0.596*R – 0.275*G – 0.321*BQ= 0.212*R – 0.523*G + 0.311*B

R = Y + 0.956*I + 0.621*QG = Y – 0.272*I – 0.647*QB = Y – 1.107*I + 1.704*Q

Page 16: 02-Изображения-1

1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

Y – luminance, luminosity, luma - яркость

Cr – Хроматический красный

Cb– Хроматический синий Chrominance,Chroma - цветность

Page 17: 02-Изображения-1

1.5 YCrCb (Y – luminance, Cr - Chroma-1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).red, Cb – Chroma-Blue ).1.5 YCrCb (Y – luminance, Cr - Chroma-1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).red, Cb – Chroma-Blue ).

Page 18: 02-Изображения-1

1.5 YCrCb (Y – luminance, Cr - Chroma-1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).red, Cb – Chroma-Blue ).1.5 YCrCb (Y – luminance, Cr - Chroma-1.5 YCrCb (Y – luminance, Cr - Chroma-red, Cb – Chroma-Blue ).red, Cb – Chroma-Blue ).

YCrCb используется в Европейских системах телевидения PAL и SECAM. Разделение на канал яркости и цвета было необходимо для обратной совместимости с черно-белыми теле-приемниками. От YIQ отличается повернутыми на 33 градуса хроматическими координатами.

YCrCb и RGB

Y = 0.299R + 0.587G + 0.114BCr = k1(R - Y)Cb = k2(B - Y)

k1 и k2 подбираются так чтобы Cr = 0.5*R + ... Cb = 0.5*B + ...

Cr = 0.5R - 0.419G' - 0.081BCb = - 0.169R - 0.331G + 0.5B

Результат: значения (Y,Cr,Cb) 0 ≤ Y ≤ 1 , -0.5 ≤ Cr ≤ 0.5 , -0.5 ≤ Cr ≤ 0.5

Page 19: 02-Изображения-1

1.5 YUV

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

Y – luminance, luminosity, luma - яркость

V – Хроматический красный

U– Хроматический синий Chrominance,Chroma - цветность

YUV и RGB

Y = 0.299R + 0.587G + 0.114BU = 0.492(B - Y)V = 0.877 (R - Y)

U = − 0.147R − 0.289G + 0.436BV = 0.615R − 0.515G − 0.100B

R = Y + 1.140VG = Y – 0.395U – 0.581VB = Y + 2.032U

Page 20: 02-Изображения-1

1.5 YUV1.5 YUV1.5 YUV1.5 YUV

Цветовые подвыборки – кодирование YUV (chroma subsampling )

Кодировка Поток данных Пиксели

4:4:4 Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3 [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]

4:2:2 Y0 U0 Y1 V1 Y2 U2 Y3 V3 [Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]

4:1:1 Y0 U0 Y1 Y2 V2 Y3 [Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]

4:4:4 4:2:2 4:2:0

YUV YUV YUV YUV   YU YV YU YV   YU YV YU YV

YUV YUV YUV YUV   YU YV YU YV   Y Y Y Y

YUV YUV YUV YUV   YU YV YU YV   YU YV YU YV

YUV YUV YUV YUV   YU YV YU YV   Y Y Y Y

Page 21: 02-Изображения-1

1.5 YUV1.5 YUV1.5 YUV1.5 YUV

Цветовые подвыборки – применение

4:4:4 – Используется как промежуточный формат при High-end сканировании и завершающей обработки (postproduction) кинофильмов

4:2:2 – используется в большинстве high-end цифровой видеотехники (студийного класса). Примеры: Digital Betacam, CCIR 601 / Serial Digital Interface

4:1:1 – «lower-end and consumer applications». Т.е. приложения потребительского класса. Примеры: NTSC DV

4:2:0 – Приложения потребительского класса. Примеры: PAL DV, DVD, MPEG 2

Page 22: 02-Изображения-1

1.6 LAB (L*a*b).

1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)1.1. Цветовые пространства(системы Цветовые пространства(системы цвето-представлений)цвето-представлений)

L – luminance, luminosity, luma - яркость

а и b хроматические составляющие

Page 23: 02-Изображения-1

1.5 1.5 LabLab1.5 1.5 LabLabМеждународной комиссией по освещению еще в 1931 году разработана и учреждена в качестве межотраслевого стандарта цветовая модель, которая после уточнения и доработки получила название Lab (L*a*b). Эта модель разрабатывалась так, чтобы преодолеть недостатки моделей HSB, RGB и CMYK. Модель имеет широкий световой охват и не привязана ни к одному из устройств репродукции света.

Любой цвет в модели определяется значением яркости L (Lightness) и двумя хроматическими координатами - а и Ь. Хроматическая координата а принимает все значения цвета по цветовому кругу - от зеленого до красного. Координата b - от голубого до желтого.

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

Page 24: 02-Изображения-1

22.. ТипыТипы изображенийизображений22.. ТипыТипы изображенийизображений1. Изображения с небольшим количеством цветов(4-16) и большими областями, заполненными одним цветом.Плавные переходы цветов отсутствуют. Примеры: деловаяграфика — гистограммы, диаграммы, графики и т.п.

2. Изображения с плавными переходами цветов,построенные на компьютере. Примеры: графика презентаций, эскизные модели в САПР.

3. Фотореалистичные изображения. Пример: отсканированные фотографии.

4. Фотореалистичные изображения с наложениемделовой графики. Пример: реклама.

Page 25: 02-Изображения-1

3.3. ТипыТипы приложенийприложений3.3. ТипыТипы приложенийприложений

1. Характеризуются высокими требованиями ко времени архивации и разархивации. Пример: Издательские системы в широком смысле этого слова.

2. Характеризуется высокими требованиями к степени архивации и времени разархивации (возможна нессиметричность алгоритма по времени). Примеры: Справочники и энциклопедии на CD-ROM. Игры.

3. Характеризуется очень высокими требованиями к степени архивации. Пример: «Всемирная информационная паутина» — WWW

Page 26: 02-Изображения-1

44.. Требования приложений к Требования приложений к алгоритмам компрессииалгоритмам компрессии44.. Требования приложений к Требования приложений к алгоритмам компрессииалгоритмам компрессии

1. Высокая степень компрессии. 2. Высокое качество изображений. Выполнение этого требования напрямую

противоречит выполнению предыдущего.3. Высокая скорость компрессии. Это требование для некоторых алгоритмов с

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

актуальное для многих приложений.5. Масштабирование изображений. Данное требование подразумевает легкость

изменения размеров изображения до размеров окна активного приложения. 6. Возможность показать огрубленное изображение (низкого разрешения),

использовав только начало файла. 7. Устойчивость к ошибкам. Данное требование означает локальность

нарушений в изображении при порче или потере фрагмента передаваемого файла.

8. Учет специфики изображения. 9. Редактируемость. Под редактируемостью понимается минимальная степень

ухудшения качества изображения при его повторном сохранении после редактирования

10. Небольшая стоимость аппаратной реализации. Эффективность программной реализации.

Page 27: 02-Изображения-1

55.. Методы обхода плоскостиМетоды обхода плоскости55.. Методы обхода плоскостиМетоды обхода плоскости

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

Page 28: 02-Изображения-1

55.1.1 ОБХОД СТРОКАМИОБХОД СТРОКАМИ55.1.1 ОБХОД СТРОКАМИОБХОД СТРОКАМИ

Самый тривиальный метод. Именно он используется в распространенных графических форматах (BMP, TGA, RAS...) для хранения элементов изображений.

Page 29: 02-Изображения-1

55.1.1 ОБХОД СТРОКАМИОБХОД СТРОКАМИ55.1.1 ОБХОД СТРОКАМИОБХОД СТРОКАМИ

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

Page 30: 02-Изображения-1

55.2.2 ОБХОД ПОЛОСАМИОБХОД ПОЛОСАМИ55.2.2 ОБХОД ПОЛОСАМИОБХОД ПОЛОСАМИ

Чаще всего сжатие лучше, если каждая область двухмерного массива S не рассредоточена (равномерно «размазана») по всему одномерному D, а сконцентрирована в D компактно. В случае обхода строками понятие «области» отсутствует: каждый элемент считается «областью». Пытаясь обходить плоскость квадратами размером NxN, можно прийти к идее обхода горизонтальными «полосами» шириной N:

В данном примере ширина полосы N=3. Если N=1, получаем обход строками.

Page 31: 02-Изображения-1

55.3.3 ПОЛОСАМИ С РАЗВОРОТАМИПОЛОСАМИ С РАЗВОРОТАМИ55.3.3 ПОЛОСАМИ С РАЗВОРОТАМИПОЛОСАМИ С РАЗВОРОТАМИ

Разрывов опять нет, но теперь еще и каждая точка принадлежит области, записанной в D компактно, без разрывов: ее элементы расположены внутри одного интервала (D[i], D[i+1], D[i+f]), и элементов из других областей внутри этого интервала нет. Примеры таких областей — каждый из четырех углов размером 3x3 элемента.

1 6 7 12 13

2 5 8 11 14

3 4 9 10 15

28 27 22 21 16

29 26 23 20 17

30 25 24 19 18

Page 32: 02-Изображения-1

55..44 ОБХОД РЕШЕТКАМИОБХОД РЕШЕТКАМИ55..44 ОБХОД РЕШЕТКАМИОБХОД РЕШЕТКАМИ

Для первой порции берем элементы из каждого N-ro столбца каждой М-ой строки. Для второй - то же, но со сдвигом на один столбец. Так же и для следующих, а затем - со сдвигом на одну, две, (М—1) строки. Например, если M=N=2, то имеем четыре порции:

1 13 2 14 3 15 4 16

25 37 26 38 27 39 28 40

5 17 6 18 7 19 8 20

29 41 30 42 31 43 32 44

9 21 10 22 11 23 12 24

33 45 34 46 35 47 36 48

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

Page 33: 02-Изображения-1

55..55 КОНТУРНЫЙ ОБХОДКОНТУРНЫЙ ОБХОД55..55 КОНТУРНЫЙ ОБХОДКОНТУРНЫЙ ОБХОД

Часть элементов принадлежит одной группе, часть - другой, причем контур задан:

36 элементов - из группы «1», а 12 - из группы «2».

Page 34: 02-Изображения-1

55..55 КОНТУРНЫЙ ОБХОДКОНТУРНЫЙ ОБХОД55..55 КОНТУРНЫЙ ОБХОДКОНТУРНЫЙ ОБХОД

Очевидно, что имеет смысл отдельно оформить элементы группы «1»:

и затем точно так же остальные элементы, принадлежащие группе «2».

1 29 28 27 26 22 21 31

2 30 25 23 20 32

3 24 19 33

4 18 34

5 8 9 13 14 17 35

6 7 10 11 12 15 16 36

Page 35: 02-Изображения-1

55..66 КОНТУРНЫЙ ОБХОД С НЕИЗВЕСТНЫМИ КОНТУРНЫЙ ОБХОД С НЕИЗВЕСТНЫМИ КОНТУРАМИКОНТУРАМИ55..66 КОНТУРНЫЙ ОБХОД С НЕИЗВЕСТНЫМИ КОНТУРНЫЙ ОБХОД С НЕИЗВЕСТНЫМИ КОНТУРАМИКОНТУРАМИ

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

Обходим плоскость «столбцами с разворотами», и, обнаруживая элемент другой группы (в элементах 9, 10, 14...), также делаем разворот на 180 градусов. Затем (шаги 45...48) обходим оставшуюся часть плоскости, содержащую (предположительно) элементы другой группы.

Page 36: 02-Изображения-1

55..77 ЗМЕЙКА (ЗИГЗАГ-СКАНИРОВАНИЕ)ЗМЕЙКА (ЗИГЗАГ-СКАНИРОВАНИЕ)55..77 ЗМЕЙКА (ЗИГЗАГ-СКАНИРОВАНИЕ)ЗМЕЙКА (ЗИГЗАГ-СКАНИРОВАНИЕ)

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

Применяется в алгоритме JPEG для обхода квадрантов (размером 8x8 точек).

1 2 6 7 15 16

3 5 8 14 17 24

4 9 13 18 23 25

10 12 19 22 26 29

11 20 21 27 28 30

Page 37: 02-Изображения-1

55..88 КВАДРАТНАЯ ЗМЕЙКАКВАДРАТНАЯ ЗМЕЙКА55..88 КВАДРАТНАЯ ЗМЕЙКАКВАДРАТНАЯ ЗМЕЙКА

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

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

1 4

2 3

и

1 2

4 3

Page 38: 02-Изображения-1

55..88 КВАДРАТНАЯ ЗМЕЙКАКВАДРАТНАЯ ЗМЕЙКА55..88 КВАДРАТНАЯ ЗМЕЙКАКВАДРАТНАЯ ЗМЕЙКА

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


Recommended