Файл: Автоматизация и управление.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 209

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
обращения к ней пользователя.

Листинг разработанной программы представлен в приложении А.

          1. 1   2   3   4   5   6   7   8   9   10   ...   15

Выбор среды разработки ПО и разработка программы.


  1. Выбор среды программирования

В рамках выбора языка программирования был проведен сравнительный анализ таких языков программирования, как C++ и Python.

С++ - компилируемый, статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы

программирования, как процедурное программирование, объектно ориентированное программирование, обобщённое программирование.

Python высокоуровневый язык программированияобщего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ. Язык является полностью объектно-ориентированным всё является объектами. Необычной особенностью языка является выделение блоков кода пробельными отступами.

Сравнительный анализ языков, их преимущества и недостатки приведены в таблице 2.2

Таблица 2.2 Сравнение языков программирование

Название

Объектно – ориентированное

программирование

Необходимые библиотеки для

разработки

Использование отступов

C++

+

-

-

Python

+

+

+


В связи с наличием в Python необходимых библиотек для распознования номеров и знаков, был выбран именно

он.

В ходе выполнения дипломного проекта был произведён выбор среды разработки ПО. Были рассмотрены следующие среды для разработки: PyIdle, WingWare, Eric.

С помощью IDLE можно выполнять обычные для интегрированной среды задачи: просматривать, редактировать, запускать, отлаживать программы на Python. Редактор кода использует подсветку синтаксиса. IDLE предлагает дополнительные возможности для опытных пользователей, например, средство просмотра объектов.

Содержит мощный инструмент отладки, который позволяет устанавливать контрольные точки, возможность пошагового выполнения кода, проверка данных, удаленная отладка и отладка шаблонов Django. Поддержка matplotlib, с автоматическим обновлением графиков. Также предоставляется доработка кода, подсветка синтаксиса, исходный браузер, графический отладчик и поддержка систем управления версиями.

Содержит такие функции как отладчик Python и Ruby, покрытие кода, автоматическая проверка кода, оболочка Python и Ruby, браузер класса и многое другое. Также имеются функции для совместного редактирования. Диалоги Regex и Qt, опции для создания сторонних приложений прямо в редакторе, диаграммы приложения, возможности управления проектами, а также интерактивная оболочка Python. Многоязычный пользовательский интерфейс, который включает в себя Английский, Немецкий, Русский, Французский, Испанский, Итальянский, Турецкий и Китайский языки, контроль версии для Subversion, Mercurial и Git, использование объявлений в плагинах, и многое другое.

В качестве среды разработки программного обеспечения был выбран
PyIDLE, в связи с его простым и доступным интерфейсом, но при этом возможностью использовать необходимые для разработки библиотеки. B. Она обладает всеми необходимыми средствами для эффективного программирования на языке Python.


            1. Результаты разработки системы и их анализ

  • Для работы данной программы используются следующие библиотеки:

  • OpenCV это большая библиотека с открытым исходным кодом, предназначенная для компьютерного зрения, обработки изображений, машинного обучения;

  • NumPy – это специальная библиотека для языка программирования Python, которая обеспечивает эффективную работу с многомерными массивами и матрицами;

  • OS модуль, который предоставляет функции взаимодействия с базовой операционной системой, на которой запущен Python будь то Windows, Mace или Linux;

  • DetectChars библиотека для определения символов;

  • DetectPlates – библиотека для обнаружения номерного знака.

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

Проведено тестирование предложенной системы.

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

На рисунке 2.27 представлен процесс обучения программы распознаванию массива символов.


Рисунок 2.27 Процесс обучения программы распознаванию массива символов

На рисунке 2.28 изображен результат опознания номерных знаков обученной программы.




Рисунок 2.28 Результат обучения
        1. 1   ...   4   5   6   7   8   9   10   11   ...   15