Методика застосування бібліотек комп’ютерного зору для побудови картографічних моделей

Розкриття особливостей роботи із типами даних на мові Python. Впровадження програмних модулів в систему ArcGIS, використання потужностей бібліотеки комп’ютерного зору OpenCV в середовищі Python. Дослідження структури та архітектури мови програмування.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 14.10.2018
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МЕТОДИКА ЗАСТОСУВАННЯ БІБЛІОТЕК КОМП'ЮТЕРНОГО ЗОРУ ДЛЯ ПОБУДОВИ КАРТОГРАФІЧНИХ МОДЕЛЕЙ

Національний аерокосмічний університет імені Н.Є. Жуковського «ХАІ», Харків

С.М. Андрєєв, В.А. Жилін, А.С. Топчий

Анотація

Представлена методика застосування бібліотек комп'ютерного зору для побудови картографічних моделей. Розкриті особливості роботи із типами даних на мові Python, а також побудована класифікація бібліотек мови Python. Розроблена методика також пропонується у вигляді структурної схеми для кращої її візуалізації та спрощення розуміння взаємодії основних етапів роботи при побудові картографічних моделей.

Ключові слова: картографія, типи та формати даних, комп'ютерний зір, програмний ГІС-пакет.

Аннотация

МЕТОДИКА ПРИМЕНЕНИЯ БИБЛИОТЕК КОМПЬЮТЕРНОГО ЗРЕНИЯ ДЛЯ ПОСТРОЕНИЯ КАРТОГРАФИЧЕСКИХ МОДЕЛЕЙ

С.М. Андреев, В.А. Жилин, А.С. Топчий

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

Ключевые слова: картография, типы и форматы данных, компьютерное зрение, программный ГІС-пакет.

Annotation

METHOD OF APPLICATION OF LIBRARIES OF COMPUTER VISION FOR CONSTRUCTION OF CARTOGRAPHIC MODELS

S.M. Andreev, V.A. Zhilin, A.S. Topchy

The technique of application of libraries of computer sight for construction of cartographic models is presented. Features of working with data types in Python are disclosed, and a classification of Python libraries in the form of a structural scheme is constructed. The developed methodology is also proposed in the form of a structural scheme for better visualization and simplification of the understanding of the interaction of the main stages of work in the construction of cartographic models.

Keywords: cartography, types andformats of data, computer vision, software GIS package.

Актуальність та постановка задачі

У структурах сучасних ГІС-пакетів обов'язково присутні різні за типами засоби розробки. На сьогоднішній день існує безліч ГІС-пакетів для обробки даних систем ДЗЗ: ArcGIS, Панорама, Erdas Imagine, QGIS, MapInfo, Quantum GIS, тощо. Всі провідні ГІС мають інструменти для вирішення прикладних ГІС- задач. При цьому під конкретні вимоги користувачів існує необхідність модифікувати кожен ГІС-пакет. Модифікація ГІС-пакетів залежить від засобів розробки конкретної ГІС-системи. Засоби розробки ArcGIS містять у собі Esri Developer Network, який в свою чергу складається з ArcGIS Engine і ArcGIS Runtime.

До засобів розробки також відносять кастомізацію ArcGIS for Desktop, оскільки алгоритми автоматизації обробки даних знаходяться в безперервному процесі модернізації. Додаткові модулі ArcGIS for Desktop реалізуються на мові Python і зручно можуть бути впроваджені в інтерфейс програмного забезпечення ArcGIS. Таким чином поліпшуються засоби та швидкість вирішення прикладних ГІС- задач. Отже, конкретні вимоги користувача можуть бути оптимально задоволені. Продукти середовища Python органічно інтегруються в ArcGIS -- це призводить до того, що фахівці ГІС можуть виступати в якості розробників додаткових модулів. Мова програмування Python є безкоштовним відкритим засобом, що сприяє зниженню витрат на удосконалення існуючих ГІС-пакетів, а також збільшення робочих місць серед розробників ГІС-додатків.

Python -- потужна та проста для вивчення мова програмування. У ній надано опрацьовані високорівневі структури даних і простий, але ефективний підхід до об'єктно-орієнтованого програмування.

Поєднання витонченого синтаксису та динамічної типізації, суміщених із сутністю інтерпретації програмних кодів, робить Python ідеальною мовою для написання сценаріїв та прискореної розробки додатків у різних середовищах розробки й на більшості операційних платформ.

Актуальність даної роботи полягає у якісно новому підході до розробки методики побудови картографічної моделі з використанням бібліотеки комп'ютерного зору і середовища Python.

Метою даної роботи є покращення інформаційних можливостей розробників програмного забезпечення для вирішення тематичних ГІС-задач у відповідності до вимог замовників.

Предметом дослідження є методика побудови картографічної моделі із використанням бібліотек комп'ютерного зору та середовища Python.

Об'єктом дослідження є процес обробки цифрових космічних знімків засобами систем комп'ютерного зору в середовищі Python.

Попередній аналіз середовища Python. Python - це мова програмування високого рівня із динамічною типізацією, автоматичним управлінням пам'яттю, із зручними високорівневими структурами даних, такими як словники (хеш-таблиці), списки, кортежі. Велика частина реалізацій Python -- інтерпретатори. При цьому Python підтримує класи, модулі (які можуть бути об'єднані в пакети), обробку винятків, а також багатопотокові обчислення. Python має простий і виразний синтаксис. Мова підтримує кілька парадигм програмування: структурне, об'єкт- но-орієнтоване, функціональне і аспектно-орієнтоване. Python придатний для більшості активно використовуваних платформ. Він поширюється вільно під дуже ліберальної ліцензією, що дозволяє використовувати його без обмежень в будь-яких додатках. При цьому справедливо буде зауважити, що без наявності хоча б теоретичних знань про об'єктно-орієнтоване програмування, знайомство з Python буде ускладнено. Однак, у Python є й недолік -- з його допомогою надзвичайно легко передавати найпростішу інформацію, проте не досить зручно висловлювати складні конструкції. В цілому, Python є мовою загального призначення, тому може застосовуватися практично в будь-якій області розробки програмного забезпечення (ПЗ). Стандартні модулі розширення Python -- це відмінно спроектована і неодноразово перевірена функціональність для вирішення завдань, що виникають в кожному проекті з розробки ПЗ, обробки рядків і текстів, взаємодія з операційною системою, підтримка Web-додатків. Модулі, що це забезпечують, також написані на мові Python, тому середовище Python має його найпривабливішу властивість -- кросплатформеність. Модулі розширення для Python можна створювати не тільки на самій мові Python, але й за допомогою інших мов програмування. У цьому випадку з'являється можливість більш ефективної реалізації ресурсномістких завдань, наприклад, складних наукових обчислень, однак втрачається перевага кросплатформеності, якщо мова модуля розширення не є сама по собі кросплатформеною, як Python.

Типи даних Python. Python представляє найбільш типові структури даних, такі як: список, кортеж, словник. Кортеж має незмінну впорядковану послідовність даних. У ньому можуть міститися елементи різних типів, наприклад, інші кортежі. Кортеж визначається в круглих дужках, а його елементи розділяються комами. Список -- це змінна впорядкована послідовність елементів. Елементи списку також розділяються комами, але задаються вже в квадратних дужках. Словник є хеш-таблицею, що зберігає елемент разом з його ідентифікатором- ключем. Послідовний доступ до елементів виконується теж по ключу, тому одиниця зберігання в словнику -- це пара об'єкт-ключ і пов'язаний з ним об'єкт-значення. Словник -- це змінна, але не впорядкована колекція, так що порядок елементів в словнику може змінюватися з часом. Задається словник в фігурних дужках. У даній роботі розроблена структура взаємодії бібліотек Python за форматами даних яка представлена на рис. 1.

Аналіз комп'ютерних бібліотек, що придатні для взаємодії із мовою програмування Python. OpenCV (Open Source Computer Vision Library) - це бібліотека комп'ютерного зору, яка поставляється з відкритим вихідним програмним кодом. Спектр можливостей даної бібліотеки дуже широкий. У ній зібрано велику кількість алгоритмів для використання технологій комп'ютерного зору.

OpenCV застосовується для "зшивання" супутникових карт, зменшення шуму медичних зображень, вирівнювання сканованих знімків, аналізу різноманітних фото- та відео-об'єктів, для систем виявлення вторгнення, автоматичного моніторингу і контролю, калібрування відеокамер, в додатках для забезпечення функціонування безпілотних наземних, літальних та підводних апаратів.

Утиліти командного рядку, що входять до складу бібліотеки GDAL, широко використовуються для виконання різноманітних завдань. GDAL -- це вільна бібліотека для роботи з растровими даними. Для того, щоб виконати перепроектування, поєднання растрів, обрізку растрів, геотрансформацію, отримати інформацію про кількість каналів растра, вилучити дані та метадані, -- встановлюється 15 бібліотека GDAL. Для розрахунку коефіцієнта глобальної кореляції, локальної кореляції і класифікації зон, використовується бібліотека NumPython. Бібліотека NumPython перетворює Python у вільний та більш потужний еквівалент системи. Бібліотека виконує реалізацію матричних та 16 векторних операцій, а також багатьох чисельних алгоритмів.

Matplotlib -- бібліотека на мові програмування Python для візуалізації даних двовимірної та тривимірної графіки. Одержувані зображення можуть бути використані у якості ілюстрацій в картографічних публікаціях.

На рис. 2 представлена розроблена структурна схема бібліотек, що використовуються у середовищі мови програмування Python при роботі із геопросторовими даними.

python програмування комп'ютерний бібліотека

Методика побудови картографічної моделі із застосуванням середовища Fython та бібліотеки ОpenCV. Для того, щоб розробити методику побудови картографічної моделі з використанням середовища Python і бібліотеки комп'ютерного зору OpenCV, необхідно провести дослідження структури та архітектури мови програмування. Також слід враховувати особливості парадигми мови програмування.

Python має набір безлічі функціональних бібліотек, які можуть бути швидко та ефективно використані для вирішення прикладних ГІС-задач. Для наглядного представлення методика, що пропонується, представлена у вигляді структурної схеми на рис. 3.

Практичне використання методики побудови картографічних моделей із застосуванням середовища Fython та бібліотеки ОpenCV. Після того, як дані дистанційного зондування Землі отримано, необхідно виконати первинну обробку знімків, до складу якої входить геометрична корекція, а також корекція яскравості супутникового зображення. Геометрична корекція вбачає афінні, тобто лінійні методи. Корекція яскравості містить просторову фільтрацію, адаптивну фільтрацію, фільтрацію, що виділяє межі елементів на супутниковому зображенні, а також застосування операторів Лапласа та перетворення Фур'є.

Етапи обробки надано у вигляді структурної схеми на рис. 4.

Для ілюстрації застосування процедур обробки фотографічного зображення із застосуванням запропонованої методики обрано космічний знімок іспанського міста Росес (рис. 5). А саме, на рис. 6 наведено результат застосування методу виявлення кутів, а на рис. 7 - результат реалізації методу лінійного перетворення Хафа. На рис. 8 наведено картографічну модель міста Росес, розроблену із використанням системи ArcGIS.

Таким чином, в результаті аналізу сучасних ГІС-пакетів, технічних можливостей взаємодії мови Python на рівні впровадження програмних модулів в систему ArcGIS, а також використання потужностей бібліотеки комп'ютерного зору OpenCV в середовищі Python, розроблено структуру взаємодії бібліотек Python за форматами даних, структурну схему бібліотек Python, що використовуються при роботі із геопросторовими даними.

Список літератури

1. Прохорёнок Н.А. Python3. Самое необходимое / Н.А. Прохорёнок, В.А. Дронов. -- СПб.: "БХВ-Петербург", 2016. -- 461 с.

2. Лутц Марк. Python. Карманный справочник. 5-е изд.: Пер. с англ.--М.: ООО "И. Д. Вильямс", 2015. -- 320 с.

3. Уэс Маккинли. Python и анализ данных / Пер. с англ. А.А. Слинки. -- М.: ДМК Пресс, 2015. -- 482 с. -- С. 14-21, 23-24, 57-70, 244-275.

4. Саммерфилд М. Программирование на Python 3. Подробное руководство. -- Пер. с англ. -- СПб.: Символ- Плюс, 2009. -- 608 с.. -- С. 552-556.

5. Доусон М. Программируем на Python. -- СПб.: Питер, 2014. -- 416 с.: ил. -- С. 277-307.

6. OpenCV-Python Tutorials [Электронный ресурс].

7. Python [Электронный ресурс].

8. Разработка Python. Python на Хабре. [Электронный ресурс].

9. Python 3.1. Учебник [Электронный ресурс].

10. Python 3 для начинающих. Часть 1: начало работы [Электронный ресурс].

11. Python 3 для начинающих. Модуль Math [Электронный ресурс]

12. GDAL. GIS-LAB [Электронный ресурс].

13. Снимки Landsat 8. USGS [Электронный ресурс].

Размещено на Allbest.ru

...

Подобные документы

  • Об'єктно-орієнтована мова Python - сучасна мова програмування, проста у вивченні та використанні. Наявність повної стандартної бібліотеки. Середовища програмування на Python. Механізм функціонування інтерпретатора. Колекції даних, комбіновані оператори.

    презентация [753,2 K], добавлен 06.02.2014

  • Аналіз предметної області та відомих реалізацій гри 2048. Універсальна мова моделювання UML в процесі проектування гри. Розробка алгоритмів функціонування модулів гри "2048". Оператори мови програмування Python. Особливості середовища Visual Studio.

    курсовая работа [1,2 M], добавлен 17.02.2021

  • Історія розробки та розвитку комп'ютерного редактора, його основні функції. Порядок запуску Adobe Photoshop 7.0 та роботи з ним, опис його інтерфейсу та інструментів малювання. Алгоритм створення графічних зображень у програмі, формати їх збереження.

    курсовая работа [1,1 M], добавлен 06.04.2014

  • Дослідження особливостей роботи графічної бібліотеки OpenGL з метою використання її в комп'ютерному моделюванні. Розгляд синтаксису команд та програмного коду команд. Методи максимально реалістичного моделювання горіння вогню. Лістинг програми на мові С.

    курсовая работа [182,0 K], добавлен 22.12.2010

  • Принципи побудови тривимірних зображень у ГІС засобами комп’ютерної графіки. Інформативність та точність моделей, створених на основі растрових і векторних програм. Технологія побудови 3D-карт за допомогою "ArcGIS/3D Analyst" та "MapInfo"/"Поверхность".

    дипломная работа [700,6 K], добавлен 10.05.2015

  • Види списків, особливості їх створення, застосування та можливості удосконалення роботи користувача персонального комп’ютера. Керування та аналіз груп споріднених даних у середовищі програми MS Excel 2010. Опрацювання спискiв за допомогою форми даних.

    дипломная работа [2,7 M], добавлен 18.06.2014

  • Синтез на основі поведінкового опису, виконаний розробниками на мові програмування класу HDL, як перспективний напрямок проектування цифрових пристроїв. Опис RISC-архітектури комп'ютерів. VHDL-модель прототипу RISC-комп'ютера. Основні модулі моделей.

    курсовая работа [1,1 M], добавлен 23.01.2014

  • Мови програмування. Алгоритм програми, функціональні обмеження на застосування. Опис логічної структури. Типи комп'ютерів, що використовуються при роботі програми. Виклик і завантаження. Організація, характер та попередня підготовка вихідних даних.

    курсовая работа [95,0 K], добавлен 01.04.2016

  • Проектування програми керування мікропроцесорним пристроєм світлової індикації на мові С та Assembler. Розробка алгоритму роботи програми, структурної та електричної принципових схем. Здійснення комп’ютерного моделювання для перевірки розроблених програм.

    курсовая работа [710,7 K], добавлен 04.12.2014

  • Программное обеспечение Python и ее основные характеристики, как программной среды. Общие сведения о языке программирования Python. Особенности применения ППП Python (x,y) с использованием его различных вычислительных модулей в учебном процессе.

    дипломная работа [2,9 M], добавлен 07.04.2019

  • Дослідження історії виникнення комп’ютерної томографії. Створення перших програмованих томографів. Фізико-технічні основи комп'ютерної томографії. Конфігурація сучасного спірального комп'ютерного томографа. Опис режимів сканування та отримання томограми.

    отчет по практике [1,8 M], добавлен 01.12.2013

  • Поява в світі комп'ютерних вірусів: винахід 15-річного школяра з Піттсбурга. Сенсаційне дослідження харківських науковців: порушення зору у 70 % вітчизняних користувачів комп’ютерів. Мобільний принтер для транспорту. Шедевр в матричній технології друку.

    реферат [14,1 K], добавлен 08.10.2010

  • Розробка, налагоджування, тестування і документування програми на мові високого рівня С++ при рішенні на комп'ютері прикладної інженерної задачі. Використання принципів модульного і структурного програмування, зображення алгоритму у вигляді блок-схеми.

    курсовая работа [1,1 M], добавлен 07.08.2013

  • Понятие и характеристики облачных технологий, модели их развертывания, технологические процессы, аспекты экономики и критика. Язык программирования Python, оценка функциональности, сравнение с аналогами. Управление облаком в Python на примере libcloud.

    курсовая работа [43,0 K], добавлен 08.06.2014

  • Алгоритм побудови лінії та використання графічної бібліотеки DirectX. Способи побудови довільної кількості довільного розміру точок на поверхні форми. Можливості комп'ютера виконувати мультимедійні програми під управлінням операційної системи Windows.

    контрольная работа [416,9 K], добавлен 22.10.2009

  • Сутність поняття "контроль". Оцінювання результатів навчально-пізнавальної діяльності учнів. Особливості комп’ютерного контролю знань. Підходи до зіставлення комп’ютерних програм контролю. Створення тесту з математики за допомогою програми MyTest.

    курсовая работа [278,4 K], добавлен 24.04.2012

  • Закон заломлення світла, опис та обґрунтування його математичної моделі. Зображення за допомогою комп’ютерного моделювання з мовою програмування Turbo Pascal кута заломлення променя в оптичному середовищі, яке складається з n-анізотропних шарів.

    курсовая работа [32,2 K], добавлен 12.12.2010

  • Загальна характеристика навчально-наукового комп'ютерного центру. Державні норми влаштування і обладнання кабінетів комп'ютерної техніки. Створення довідкової бази про факультет комп’ютерних систем для приймальної комісії у вигляді сайту для абітурієнтів.

    отчет по практике [72,0 K], добавлен 07.07.2010

  • Знайомство з основами побудови і функціонування комп'ютерних мереж, виділення їх особливостей і відмінностей. Характеристика основних способів побудови мереж. Розрахунок економічної ефективності впровадження корпоративної локальної обчислювальної мережі.

    курсовая работа [275,0 K], добавлен 18.11.2014

  • Загальна структура комп'ютера, архітектура процесора типу Intel 8086. Принцип роботи пам'яті, її види (постійна та оперативна). Основи програмування на мові асемблер та її синтаксис. Особливості використання позначок, кодів команд, операндів і директив.

    лабораторная работа [36,0 K], добавлен 27.02.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.