Преобразование поворота

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

1. Области изображения, вышедшие за его границы при повороте отсекаются, а незаполненные части заполняются каким-либо цветом.

2. Рассчитывается новый размер изображения на основе угла поворота таким образом, чтобы повёрнутое изображение целиком поместилось в новые размеры. Незаполненные части изображения также заполняются каким-либо цветом.

В любом случае для расчёта преобразования поворота может быть использована следующая формула:

Cnew[i][j] = Преобразование поворота - student2.ru

Преобразование поворота - student2.ru Преобразование поворота - student2.ru

Преобразование поворота - student2.ru , Преобразование поворота - student2.ru .

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

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

Цифровые фильтры изображений

Цифровые фильтры позволяют накладывать на изображение различные эффекты, например: размытие, резкость, деформацию, шум и т. д.

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

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

Линейные фильтры

Линейные фильтры представляют собой семейство фильтров, имеющих очень простое математическое описание. Вместе с тем они позволяют добиться самых разнообразных эффектов. Будем считать, что задано исходное полутоновое изображение A, и обозначим интенсивности его пикселей A(x, y). Линейный фильтр определяется вещественнозначной функцией F, заданной на растре. Данная функция называется ядром фильтра, а сама фильтрация производится при помощи операции дискретной свертки[1] (взвешенного суммирования):

Преобразование поворота - student2.ru

Результатом служит изображение B. В приведенной формуле не определены пределы суммирования. Обычно ядро фильтра отлично от нуля только в некоторой окрестности N точки (0, 0). За пределами этой окрестности F(i, j) или в точности равно нулю, или очень близко к нему, так что можно им пренебречь. Поэтому суммирование производится по (i, j) Є N, и значение каждого пикселя B(x, y) определяется пикселями изображения A, которые лежат в окне N, центрированном в точке (x, y) (обозначим это множество N(x, y)). Ядро фильтра, заданное на прямоугольной окрестности N, может рассматриваться как матрица m×n, где длины сторон являются нечетными числами. При задании ядра матрицей Mkl, ее следует центрировать:

Преобразование поворота - student2.ru

Также нуждается в дополнительном прояснении ситуация, когда пиксель (x, y) находится в окрестности краев изображения. В этом случае A(x+i, y+j) может соответствовать пикселю A, лежащему за границами изображения A. Данную проблему можно разрешить несколькими способами:

§ не проводить фильтрацию для таких пикселей, обрезав изображение B по краям или закрасив их, к примеру, черным цветом;

§ не включать соответствующий пиксель в суммирование, распределив его вес F(i, j) равномерно среди других пикселей окрестности N(x, y);

§ доопределить значения пикселей за границами изображения при помощи экстраполяции;

§ доопределить значения пикселей за границами изображения, при помощи зеркального отражения.

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

Сглаживающие фильтры

Результатом применения сглаживающего фильтра является размытие изображения, устранение резких цветовых переходов. Простейший прямоугольный сглаживающий фильтр радиуса r задается при помощи матрицы размера (2r + 1) × (2r + 1), все значения которой равны:

Преобразование поворота - student2.ru ,

а сумма по всем элементам матрицы равна, таким образом, единице. При фильтрации с данным ядром значение пикселя заменяется на усредненное значение пикселей в квадрате со стороной 2r+1 вокруг него. Пример фильтрации при помощи прямоугольного фильтра приведен на рис. 4.19.

Преобразование поворота - student2.ru а) Преобразование поворота - student2.ru б)

Рис. 4.19. Пример использования сглаживающего фильтра

В этом случае на исходное изображение (рис. 4.19, а) наложен прямоугольный фильтр размером 3 на 3 пикселя. Ядро фильтра в этом случае выглядит следующим образом:

Преобразование поворота - student2.ru .

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

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

Шум – дефект на изображении, вносимый фотосенсорами и электроникой устройств, или возникающий при использовании аналоговых устройств. Шум на изображении проявляется в виде случайным образом расположенных элементов растра (точек), имеющих размеры близкие к размеру пикселя. Шум отличается от изображения более светлым или тёмным оттенком серого и цвета и/или по цвету. Причиной появления шумов на изображении является: зернистость плёнки, грязь, пыль, царапины, отслоение фотографической эмульсии. Если рассматривать цифровые устройства то причиной возникновения цифрового шума является: тепловой шум матрицы, шум переноса заряда, шум квантования АЦП, усиление сигналов в цифровом фотоаппарате, грязь, пыль на сенсоре.

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

Преобразование поворота - student2.ru

Гауссовский фильтр имеет ненулевое ядро бесконечного размера. Однако ядро фильтра очень быстро убывает к нулю при удалении от точки (0, 0), и потому на практике можно ограничиться сверткой с окном небольшого размера вокруг (0, 0) (например, взяв радиус окна равным 3σ).

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

Наши рекомендации