Текстурная фильтрация
Эти фильтры основаны на стандартных статистических характеристиках,
измеряемых на изображении
Локальный ранговый фильтр заменяет исходные пиксели изображения на их
ранги, вычисляемые по ближайшему окружению. Обычно используют маску
3x3.
}
min{
}
max{ i
i v
v
R
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
6 7 7 6 6
11 12 12 12
15-3=12
min
max
Текстурная фильтрация
Фильтр среднеквадратических отклонений
Обычно использует используют маску 3x3. Заменяет центральный пиксель маски на
среднеквадратическое отклонение, вычисленное по 8 соседям
Энтропийнный фильтр
Обычно использует используют маску 9x9. Заменяет центральный пиксель маски на
энтропию, вычисленное по 80 соседям
- ненулевые значения гистограммы яркости, построенные по 80 соседям. Всего
столбцов – 256 по числу уровней яркости
8
1
8
1
2
8
1
,
7
)
(
i
i
i
v
v
S
i
i
i p
p
E log
)
(
i
p
Преобразование изображений
Преобразования яркости и контрастности
Изображения бывают на взгляд слишком светлыми (недодержка) или слишком
темными (передержка). Эти дефекты связаны с видом передаточной функции по
яркости – зависимости видимой яркости пикселя от его значения. Обычна она
линейна на участке от low до high в значениях пикселя . Сама яркость при этом
изменяется от bottom до top. В этом случае можно произвести линейное
преобразование яркости к новому диапазону от bottom1 до top1.
Однако имеем дело уже с полученным изображением, поэтому преобразованияе
bottom
top
low high
V
I
bottom1
top1
low high
V
I
Преобразование изображений
должно осуществляться со входными значениями пикселей, а не с выходными
значениями яркости. Просто в выходном изображении вычисляются новые
значения пикселей исходя из старого и нового диапазона. Естественно при выходе
новых значений за диапазон они ограничиваются.
Характеристики коррекции могут быть и нелинейными. Распространена
коррекция. Это просто возведение полученного результата в степень .
Значения степени могут быть как больше 1 так и меньше 1.
;
,
;
,
);
(
1
1
1
1
1
1
1
1
1
1
1
low
V
при
low
V
high
V
при
high
V
low
high
low
high
low
V
V
bottom
top
low high
V
I
bottom
top
low high
V
I
1
1
Преобразование изображений
Тогда в этом случае преобразование значения пикселей изображения будет
;
,
;
,
;
)
(
1
2
1
2
1
2
1
2
1
2
low
V
при
low
V
high
V
при
high
V
V
V
Original Imadjust
0 50 100 150 200 250
0
200
400
600
800
1000
1200
1400
1600
0 50 100 150 200 250
0
200
400
600
800
1000
1200
1400
1600
1
0
6
.
0
2
.
0
1
1
high
low
high
low
Преобразование изображений
Поворот изображения.
Прежде всего поворот приводит к изменению размеров изображения. Поэтому
необходимо задать способ отсечения в повернутом изображении. Обычно
повернутое изображение устанавливается тех же размеров, что и исходное. Для
того, чтобы найти пиксели исходного изображения, определяющие яркость
каждого пикселя повернутого изображения, необходимо знать координаты каждого
пикселя повернутого изображения в системе координат исходного изображения
Исходное изображение обведено зеленой рамкой.
Ширина исходного изображения W пикселов,
а высота H пикселов.
Начало координат в левом верхнем углу исходного
изображения. Этот угол обозначен черным кружком с
красной
Границы повернутого изображения
обозначены синим цветом. Обозначим левый верхний
угол нового изображения как 00, правый верхний - 10,
левый нижний 01, правый нижний - 11. Угол поворота
обозначим за a
Преобразование изображений
.
Вычислим координаты левого верхнего угла для положительного угла
Координаты остальных крайних точек вычислим как .
Рассмотрим поворот в другую сторону. При этом угол - отрицательный.
.
sin
cos
sin
00
2
00
W
y
W
x
.
sin
sin
.
cos
2
10
10
H
y
H
W
x
.
00
11
00
11
y
H
y
x
W
x
.
10
11
10
01
y
H
y
x
W
x
Преобразование изображений
Координаты угловых точек в этом случае
.
sin
sin
cos
2
00
00
H
y
H
x
.
sin
cos
sin
2
10
2
10
W
y
W
W
x
.
00
11
00
11
y
H
y
x
W
x
.
10
11
10
01
y
H
y
x
W
x
Преобразование изображений
Ширина и высота повернутого изображения будут
Примем размер пикселя за 1x1. Тогда значения и необходимо округлить до
целых. Координаты пикселей повернутого изображения тогда принимают
значения от 0 до и от 0 до . Вычислим координаты пикселя
повернутого изображения в системе координат исходного
изображения. Для этого найдем координаты граничных пикселей произвольной
строки повернутого изображения.
Здесь это вектор координат соответствующих точек. Затем вычисляем
искомые координаты
.
cos
sin
sin
cos
H
W
T
H
W
S
S T
S T
)
,
( t
s
1
T
1
S
)
,
( t
s )
,
( h
w
.
/
)
/
1
(
/
)
/
1
(
11
10
1
01
00
0
T
t
r
T
t
r
r
T
t
r
T
t
r
r
|
! y
x
r
S
s
r
S
s
r
r /
)
/
1
( 1
0
Преобразование изображений
Перебирая все значения t от 0 до T-1, и все значения s от 0 до S-1 , последовательно
вычисляются координаты всех пикселов повернутого изображения относительно
исходного изображения. Если горизонтальная координата оказывается
отрицательной или больше, чем W, то значит пиксел повернутого изображения
лежит за пределами исходного изображения, как и при значениях вертикальной
координаты, выходящей за пределы промежука [0,H]. В этом случае пиксел
отбрасывается. На рисунках такие области помечены темно-голубым цветом.
Посмотрим теперь взаимное расположение
пикселей повернутого изображения
относительно исходного изображения. Для
каждого пикселя повернутого изображения
нужно вычислить его новую яркость в
зависимости от яркостей пикселей исходного
изображения на которые он накладывается..
Это вычисление можно производить разными
способами.
1. Можно просто приписывать новому пикселю
яркость того пикселя куда попадает его
верхний левый угол.
Это метод ближайшего соседа
A
L
L
Преобразование изображений
2. Более точно вычислять яркость с помощью 4 пикселей ближайшего окружения.
Этот метод называется билинейной интерполяцией. Яркость нового пикселя в этом
случае ищется как средневзвешенная яркость этих 4-х пикселей.
3. Еще более точно вычисляется яркость с помощью 8 пикселей ближайшего
окружения. Этот метод называется бикубической интерполяцией.
Наиболее часто используется билинейная интерполяция. Алгоритма вычисления
весов могут быть разными. Хорошие результаты дает следующий, учитывающий
положение пикселя относительно своего окружения.
xy
L
y
x
L
x
x
L
y
x
L
L D
C
B
A
)
1
(
)
1
(
)
1
)(
1
(
Преобразование изображений
Видно, что в вычислении яркостей новых пикселей участвует не вся площадь
изображения, а некоторые участки учитываются дважды. Это, конечно, приводит к
некоторым искажениям повернутого изображения, однако, как показывает опыт,
для однократного поворота эти искажения незначительны. При многократном
повороте изображения станут заметны отдельные участки, где резкость картинки
существенно снижается. Особенно это проявляется на печатных текстах.