Гистограмма и Ошибки Оцифровки
Гистограмма
Гистограмма Изображения - это линейный массив длиной 256, где каждое поле H[g] содержит количество Пикселей, содержащих значение Серого g.
H[0] содержит число нулей в Изображении, H[1] содержит количество единиц и т.д.
Серые или Палетные Изображения содержат одну Гистограмму, TrueColor-Изображения содержат три Гистограммы.
Гистограммы информируют о базовых свойствах Изображения: Светлота, Контраст, Насыщенность и т.д.
Пример: Код для расчета Гистограммы int H[256] одного Изображения Byte I[ySize][xSize],
H должна быть проинициализирована нулями.
Медленный Код:
for ( y=0; y < ySize; y++ )
for ( x=0; x < xSize; x++ )
H[I[y][x]]++;
Быстрый Код:
int* pointer = I;
for ( i=0; i < xSize*ySize; i++ ) H[*(pointer+i)]++;
Еще Быстрый Код:
for ( int* pointer = I; pointer < I + xSize*ySize; ) H[*pointer++]++;
Пример: дано I[4][5], требуется найти H[10]
01020
I[4][5]= 27891 Решение: H = [ 5, 4, 3, 2, 0, 1, 1, 2, 1, 1 ]
06571 Проверка: Количество значений в массиве Гистограмм должно быть
13230 ySize*xSize = 4*5 = 20.
Гистограммы визуализируются, как правило, в форме линейной диаграммы, где по горизонтали откладываются значения цвета от 0 до 255, а по вертикали частота появления соответствующего цвета на Изображении. Профессиональные камеры показывают три (RGB) гистограммы в реальном времени на мониторе, что позволяет оператору контролировать освещения, диафрагмы и т.д.
Примеры часто встречающихся Гистограмм:
Бинаризация - это важный шаг для подготовки к Распознаванию образов. Для этого используется Пороговое Значение = Threshold, которое отделяет передний план от заднего. Для определения Порогового Значения идеально подходит бимодальная (двухпиковая) Гистограмма, где ПЗ располагается между двумя вершинами.
Алгоритм бинаризации Изображений:
Медленный Код:
for ( y=0; y < ySize; y++ )
for ( x=0; x < xSize; x++ )
if ( I[y][x] < threshold ) I[y][x] = 0; else I[y][x] = 255;
Быстрый Код:
int* pointer = I;
for ( i=0; i < xSize*ySize; i++, pointer++ )
if ( *pointer < threshold ) *pointer = 0; else *pointer = 255;
Шум = Noise
Лена с 50% Шума | Шум ( engl.: noise ) является наложением на идеальное Изображение I матрицы случайных значений N. 0000 1021 1021 |
Почти каждое реальное Изображение содержит > 10% Шума. Чаще всего шум возникает из-за броуновского движения электронов в Фото-сенсорах. Для борьбы с таким шумом используют системы охлаждения массива сенсоров жидким азотом или Элемент Пельтье (основан на эффекте, открытом Жаном Пельтье 1834) = две пластинки соединены комбинаций разнотипных полупроводников - при прохождении постоянного тока, одна сторона нагревается, а другая охлаждается. Молекулярное движений уменьшается при падении температуры Сенсоров и полностью исчезает при температуре -273 градуса Цельсия. Охлаждение Чипа - важное свойство профессиональных видео-камер. Минус - высокое энергопотребление - малое время работы аккумулятора.
Другой метод понижения уровня Шума - Низкочастотный Фильтр.
Неравномерное Освещение = Shading = Затенение
Лена с Затенением | Затенение - это дополнительное наложение на идеальное Изображение I функции рампы S. Само определение затенения не имеет ничего общего с тенями - это вводит в заблуждение, но все же оно используется повсеместно, кроме Японии и Китая, где это явление называют "Косой Свет". 22222 -2-1+0+1+2 01234 |
Почти в каждом реальном изображении содержится >1% Затенения. Очень трудно осветить поверхность или объект однородно.
Коррекция Затенения: создание пустого Изображения S, не содержащего Объект Отображения и вычитание:
I = Bild - S.
Методы создания пустого Изображения S:
1) реальный - всегда снимать 2 Фото с Объектом и без Объекта Отображения;
2) искусственный - фотографировать Image через молочное стекло так, чтобы можно было видеть неравномерность освещения, но не само содержание снимка;
3) цифровой: наложить на Image сильный Низкочастотный Фильтр, чтобы возможно было распознать неравномерность освещения, но не содержание Изображения.
4) цифровой: Посчитать вертикальную Линию Регрессии цвета всех колонок и горизонтальную Линию Регрессии цвета всех Строк - получится отличное пустое Изображение без содержимого.
В реальном мире проблема Затенения встречается повсеместно. Все биологические системы обработки Изображений не испытывают с этим никаких трудностей и не воспринимает Затенение, как дефект. Однако для машинной системы обработки Затенение - это тяжелая проблема, т.к. препятствует качественной Бинаризации по Предельному Значению.
Низкая Контрастность
Трижды Лена с плохим Контрастом: |
Размытость = Blurring
Размытость - сглаживание идеального Изображения I так, что значение Цвета каждого Пиксела приближается к значениям Цветов соседних Пикселей.
Причина: Неверный Фокус, перемещение объекта, перемещение камеры (смазывание), рассеянный свет.
Причина рассеянного света - туман, загрязнение оптики, посторонний предмет перед объективом.
0000000 0013100 |