Основные методы преобразования изображений

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

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

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

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

-----------------------------