Вот уже пару недель работаем над программным обеспечением для девайса «энергосчет». Пора бы представить отчет.

Для начала краткое введение. Задумывались ли вы когда-нибудь над тем, как вы сами распознаете текст? Проще понять это, если наблюдать за тем, как читают маленькие дети, которые только осваивают азбуку. Ребенок бы прочел этот пост по буквам, сравнивая каждую букву с шаблоном в своей памяти и, в случае совпадения, „присваивая“ букве звучание… Искусственный интеллект, который мы будем обучать – это тоже своего рода маленький ребенок, ученик, который пока еще не знает азбуки. Для того, чтобы начать учиться, ему нужны шаблоны и надпись, которую можно прочесть по символам. Что мы ему предлагаем? Фотографию. Огромное количество цветных пикселей, в котором еще нужно отыскать содержащие нужную информацию символы. На это месте нам стало жалко наш искусственный интеллект, и, чтоб не быть злыми марьиваннами, давайте упростим ему задачу!

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

Ну что же, возьмем к примеру вот эту фотографию табло электронного счетчика:

и попробуем сделать темные области черными, а более светлые – белыми. Границу возьмем «на глазок».

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

На фотографии остался „мусор“, так бывает. В следующий раз мы покажем, как его убрать.