face 4776910 1280 min
Распознавание образов находит множество практических применений. Одним из самых распространенных явлется распознавание лиц, когда по изображению определяется конкретный человек. Но распозавние образов это гораздо более широкое понятие. С помощью него можно, например, перевести изображение текста в печатные символы. Также распознавание образов активно используется в компьютерном зрении, когда роботы и другие устройства могут узнавать людей и различные предметы.
Целью настоящей серии статей является научить нашу программу распознавать символы, изпользуя для этого методы машинного обучения в распознавании образов. Мы будем узнавать цифры, но эти методы можно распространить на буквы алфавита, слова, лица — словом, на всё. Просто, чем сложнее изображение, тем сложнее код, только и всего. Но в случае букв и символов все достаточно просто.
Итак, как это работает? Как и всегда в программировании, мы просто должны разбить проблему на части, и все будет хорошо. Что ж, приступим!
Для начала вам нужно скачать тестовые изображения, которые мы будем распознавать. Они находятся здесь.
Далее распакуйте архив и переместите директорию "images" туда, где вы будете создавать ваш код. Таким образом, у нас теперь есть некоторое количество тестовых изображений, которые мы и будем использовать. Также у нас отдельно есть изображения цифр в папке "numbers".
Теперь нам необходим язык Python. Хотя данная серия статей создавалась на Python 2.7, все это также можно повторить без каких-либо проблем и на Python 3.
Далее нам потребуются библиотеки Matplotlib, NumPy и PIL (или иначе Pillow). Простейший способ их установки — через пакетный менеджер pip.
После установки Python перейдите в командную строку, cmd.exe для Windows или bash для Linux, и наберите в ней:
pip install numpy pip install matplotlib
Если есть какие-то проблемы, можно, например, почитать пособие по этому пакетному менеджеру.
Теперь, все установив, мы готовы переходить к следующей части.
Продолжение: Распознавание образов в Python. Часть II — изучение массивов пикселей.
Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…