Блок Ю.О.
Національний авіаційний
університет, Україна
Процедура аналізу графічної інформації складається з
трьох етапів: завантаження зображення у масив необроблених значень, які являють
собою стовпчики пікселей графіку; розпізнавання характеристик на графіку;
формування чи оновлення бази знань.
На першому етапі завантаження зображення відбувається
завантаження з зовнішньої пам’яті у програму зображення, яке має бути в форматі
зі стисненням без втрат або взагалі без стиснення. Наприклад: png або bmp. Пікселі графіку мають бути синього (0x0000ff) кольору. Перебираємо всі пікселі зображення. Якщо піксель
синього (0x0000ff) кольору, то
записуємо його координати в масив, що буде зберігати верхнє та нижнє положення
стовпчиків пікселей.
На другому етапі відбувається
розпізнавання характеристик графіку шляхом сортування стовпчиків пікселей
графіку та знаходження місця в масиві, з якого починаються переходи між
характеристиками, за допомогою порівняння кута нахилу зростання відсортованих
стопчиків.
На третьому етапі відбувається
збереження отриманих даних у базу знань. Ці данні зберігаються як три значення:
середнє значення відхиленння, мінімальне та максимальне значення відхилення
вимірюваної велечини. Якщо в базі знань вже містяться дані по характеристиці,
що аналізується, то експерту надається можливість порівняти та обрати дані, які
він хоче зберігти. Для реалізації програми ми викристовуємо наступні
інстременти розробки.
Qt Creator – кроссплатформенне
вільне середовище розробки для розробки на С,
С++ і QML (Qt Meta-Object Language) – декларативній мові програмування, заснованій на JavaScript та призначеній для
дизайну додатків, що роблять основний упор на користувальницький інтерфейс.
Середовище розроблене для роботи з фреймворком Qt. Включає в себе графічний
інтерфейс відладчика і візуальні засоби розробки інтерфейсу як з використанням QtWidgets, так і QML. Підтримувані
компілятори: GCC, Clang, MinGW, MSVC, Linux ICC, GCCE, RVCT, WINSCW.
Основне
завдання Qt Creator – спростити
розробку програми за допомогою фреймворку Qt
на різних платформах. Тому серед можливостей, властивих будь-якому середовищу
розробки, є і специфічні, такі як налагодження додатків на QML і відображення в відладчику даних з контейнерів Qt, вбудований дизайнер інтерфейсів як
на QML, так і на QtWidgets.
Робота
з проектами. Qt Creator підтримує
системи збирання qmake – це утиліта
зі складу Qt, яка допомагає полегшити
процес складання програми на різних платформах, cmake – кроссплатформенну систему автоматизації збирання
програмного забезпечення з вихідного коду, autotools
– набір програмних засобів, призначених для
підтримки переносимості вихідного коду програм між UNIX-подібними системами. Для проектів, створених під іншими
системами, може використовуватися в якості редактора вихідних кодів. Є
можливість редагування етапів зборки проекту.
Редагування
коду. В Qt Сreator реалізовано
автодоповнення, в тому числі ключових слів, введених в стандарті C++ 11, підсвічування коду (також
дозволяє створювати свої види підсвічування, або використовувати вже готові).
Також, є можливість завдання стилю вирівнювання, відступів і постановки дужок.
При
навігації по коду доступно перемикання між визначенням і оголошенням методу,
перейти до оголошення методу, перейменування методу як в окремому проекті, так
і у всіх відкритих. Також є можливість викликати довідку згідно поточному
контексту.
Архітектура.
Функція main по суті своїй – виклик
завантажувача плагінів, які й реалізують весь функціонал. Тому всі компоненти QtCreator так чи інакше пов'язані з
плагінами.
ExtensionSystem представляє інтерфейс для розробки плагінів,
забезпечує завантаження плагінів і базову взаємодію. Містить в собі
клас-інтерфейс IPlugin, від якого
повинні успадковуватися всі плагіни в програмі.
Aggregation містить функції і класи, призначені для об'єднання
декількох компонентів в єдине ціле.
Utils
– бібліотека утиліт, які можуть викликати плагіни.
На
основі аналізу існуючих рішень та на основі аналізу предметної області було
виявлено, що поставлена задача не має прямих існуючих конкурентів. Виходячи з
цього задача є специфічною.
Також було розроблено стуктуру модуля формування бази
знань, що дозволило визначитись з засобами
для розробки програмного модуля. Обрані засоби цілком задовільняють реалізації
вимог вже на етапі проектування. Не беручи до уваги специфіку даної задачі,
рішення цієї задачі є необхідним для покращення якості роботи експертів. Застосування експертної системи з базою
знань, незмінною в процесі експлуатації, можливо при достатньо стабільній протягом
довгого часу предметної області, в якій розв’язуються задачі
Література:
1.
Кирилл Мариничев, Владимир Вежневец. Алгоритмы выделения параметрических
кривых на основе преобразование Хафа. Компьютерная графика и мультимедиа.
Выпуск №4(1)/2006. – URL: http://cgm.computergraphics.ru/content/view/107
2.
Анна Дегтярева, Владимир
Вежневец. Преобразование Хафа (Hough
transform). Компьютерная графика и мультимедиа. Выпуск №1(2)/2003. – URL: http://cgm.computergraphics.ru/content/view/36
3.
Нечипорук
О.П., Вахіль А.І., Шукало В.В. Програмне забезпечення експертної системи
діагностування складних об’єктів з багаторівневою структурою. – Прикладные
научные разработки: VІІ междунар. науч.-практ.
конф., 27 июля – 5 августа 2014 г.: тезисы док. – Чехия, 2014. – С.
48-50.