ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.11.2023
Просмотров: 209
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Принципы работы системы автоматической парковки и распознавания государственных номеров
Разработка функциональной схема автоматизации
Выбор среды разработки ПО и разработка программы.
Технико-экономическое обоснование выполнения проекта
Безопасность жизнедеятельности
Технические решения пожаротушения
Технические решения обеспечения безопасности жизнедеятельности
обращения к ней пользователя.
Листинг разработанной программы представлен в приложении А.
В рамках выбора языка программирования был проведен сравнительный анализ таких языков программирования, как C++ и Python.
С++ - компилируемый, статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы
программирования, как процедурное программирование, объектно – ориентированное программирование, обобщённое программирование.
Python — высокоуровневый язык программированияобщего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ. Язык является полностью объектно-ориентированным — всё является объектами. Необычной особенностью языка является выделение блоков кода пробельными отступами.
Сравнительный анализ языков, их преимущества и недостатки приведены в таблице 2.2
Таблица 2.2 – Сравнение языков программирование
В связи с наличием в Python необходимых библиотек для распознования номеров и знаков, был выбран именно
он.
В ходе выполнения дипломного проекта был произведён выбор среды разработки ПО. Были рассмотрены следующие среды для разработки: PyIdle, WingWare, Eric.
С помощью IDLE можно выполнять обычные для интегрированной среды задачи: просматривать, редактировать, запускать, отлаживать программы на Python. Редактор кода использует подсветку синтаксиса. IDLE предлагает дополнительные возможности для опытных пользователей, например, средство просмотра объектов.
Содержит мощный инструмент отладки, который позволяет устанавливать контрольные точки, возможность пошагового выполнения кода, проверка данных, удаленная отладка и отладка шаблонов Django. Поддержка matplotlib, с автоматическим обновлением графиков. Также предоставляется доработка кода, подсветка синтаксиса, исходный браузер, графический отладчик и поддержка систем управления версиями.
Содержит такие функции как отладчик Python и Ruby, покрытие кода, автоматическая проверка кода, оболочка Python и Ruby, браузер класса и многое другое. Также имеются функции для совместного редактирования. Диалоги Regex и Qt, опции для создания сторонних приложений прямо в редакторе, диаграммы приложения, возможности управления проектами, а также интерактивная оболочка Python. Многоязычный пользовательский интерфейс, который включает в себя Английский, Немецкий, Русский, Французский, Испанский, Итальянский, Турецкий и Китайский языки, контроль версии для Subversion, Mercurial и Git, использование объявлений в плагинах, и многое другое.
В качестве среды разработки программного обеспечения был выбран
PyIDLE, в связи с его простым и доступным интерфейсом, но при этом возможностью использовать необходимые для разработки библиотеки. B. Она обладает всеми необходимыми средствами для эффективного программирования на языке Python.
В процессе распознавания программой номерных знаков система считывает номера, подъехавшего автомобиля и сравнивает их с номерами автомобиля, который бронировал место. В случае если, на автомобиль в данными номерными знаками действительно забранировано место, то система отправляет сигнал на исполнительный механизм шлагбаума, и открывает его, в противном случае система отказывает водителю в проезде.
Проведено тестирование предложенной системы.
Сначала в программе отображаются
символы, использующиеся в государственных номерных знаках, для дальнейшего считывания с реальных номеров. Программа обучается распознавать эти знаки. Затем когда в программу приходит изображение с таблички с номерами, она их распознаёт для дальнейшего управления шлагбаумом.
На рисунке 2.27 представлен процесс обучения программы распознаванию массива символов.
Рисунок 2.27 – Процесс обучения программы распознаванию массива символов
На рисунке 2.28 изображен результат опознания номерных знаков обученной программы.
Рисунок 2.28 – Результат обучения
Листинг разработанной программы представлен в приложении А.
- 1 2 3 4 5 6 7 8 9 10 ... 15
Выбор среды разработки ПО и разработка программы.
-
Выбор среды программирования
В рамках выбора языка программирования был проведен сравнительный анализ таких языков программирования, как 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.
-
Результаты разработки системы и их анализ
-
Для работы данной программы используются следующие библиотеки: -
OpenCV – это большая библиотека с открытым исходным кодом, предназначенная для компьютерного зрения, обработки изображений, машинного обучения; -
NumPy – это специальная библиотека для языка программирования Python, которая обеспечивает эффективную работу с многомерными массивами и матрицами; -
OS – модуль, который предоставляет функции взаимодействия с базовой операционной системой, на которой запущен Python – будь то Windows, Mace или Linux; -
DetectChars – библиотека для определения символов; -
DetectPlates – библиотека для обнаружения номерного знака.
В процессе распознавания программой номерных знаков система считывает номера, подъехавшего автомобиля и сравнивает их с номерами автомобиля, который бронировал место. В случае если, на автомобиль в данными номерными знаками действительно забранировано место, то система отправляет сигнал на исполнительный механизм шлагбаума, и открывает его, в противном случае система отказывает водителю в проезде.
Проведено тестирование предложенной системы.
Сначала в программе отображаются
символы, использующиеся в государственных номерных знаках, для дальнейшего считывания с реальных номеров. Программа обучается распознавать эти знаки. Затем когда в программу приходит изображение с таблички с номерами, она их распознаёт для дальнейшего управления шлагбаумом.
На рисунке 2.27 представлен процесс обучения программы распознаванию массива символов.
Рисунок 2.27 – Процесс обучения программы распознаванию массива символов
На рисунке 2.28 изображен результат опознания номерных знаков обученной программы.
Рисунок 2.28 – Результат обучения
- 1 ... 4 5 6 7 8 9 10 11 ... 15