РОЗДІЛ 2. ДОДАТОК ДЛЯ ANDROID
2.1. Базова ідея
Нами пропонується раціоналізувати та автоматизувати підхід з ДОДАТКА Б, використовуючи замість частини окремих і достатньо громіздких вузлів компактний мобільний пристрій. А саме: замість комп’ютера з програмним забезпеченням, Web-камери, світлодіоду ми пропонуємо скористатися нашим додатком в мобільному пристрої на Android.
За нашою думкою, такий додаток має надати змогу популяризувати та значно розширити межі застосування Fluid-технології 3D-сканування.
Для цього важливо, щоб:
· додаток був максимально простим для того, щоб ним могли скористатися якнайбільше користувачів без спеціальних знань;
· додаток мав зручні налаштування параметрів камери та характеристик обробки для отримання максимальної якості результату.
Запланована функціональність додатка:
· додаток записує процес занурення у стиснутий формат зображень JPEG;
· додаток аналізує отримані кадри;
· додаток показує етапи обробки та достатньо швидко і якісно робить виділення контурів;
· додаток зберігає результат сканування у форматі XYZз розширенням *.ascта у вигляді 2D-представлення.
Алгоритм обробки кадрів:
1. отримання різниці яскравості пікселів півсуми початкового (без предмету) і кінцевого (предмет вже занурений), та поточного кадрів;
2. переведення різниці у бінарний рисунок;
3. кількаразова фільтрація шуму (за потреби);
4. виділення контуру предмета на межі двох кольорів.
Процедури та функції, що застосовувались для обробки зображень, приведені на ДОДАТКАХ Г-Е.
Отримані дані нашим додатком зберігаються як точковий 3D-формат XYZ у текстовому файлі *.asc та у графічному файлі *.jpg у вигляді кольорових контурів. Подальша обробка і 3D-візуалізація може бути зроблена за допомогою тривимірної візуалізації в окремій програмі, наприклад MeshLab [10, 11].
2.2. Реалізація і тестування
Для реалізації поставленої мети нами було використано середовище розробки Embarcadero RAD Studio XE10.
Вякості основи для роботи з камерою смартфону використано приклад роботи з камерою CameraComponent, що йде разом з Embarcadero RAD Studio XE10 [13].
Для можливості автофокусування та фокусування на макроскопічні відстані, а також одночасного включення освітлення ліхтарика камери, застосовано підхід, показаний в ДОДАТКУ В.
Інтерфейс програми поділено на три вкладки (рис.1):
· вкладка налаштування камери та параметрів сканування;
· вкладка запису експерименту;
· вкладка аналізу і отримання результату.
Додаток спочатку записує процес занурення предмета в рідину у вигляді *.jpg файлів у папку /storage/sdcard1/DCIM/Scan із заданим користувачем інтервалом по часу, а потім при переході на вкладку Analyzeможна обробити та побачити отримані лінії рельєфу. При незадовільному результаті можна змінити параметри обробки (рівень переведення при бінарізації, густину зрізів та інше).
Рис. 1. Вигляд розробленого додатка;
а – вкладка налаштування камери; б – вкладка запису експерименту; в – вкладка аналізу і отримання результату.
На рис. 2 показані результати застосування програми для сканування предмета з одного боку поверхні, а на ДОДАТКУ Ж для двостороннього сканування.
Вибіркові кадри, що оброблювались для сканування одного з предметів і дають уявлення про процес сканування, подані на ДОДАТКУ З.
Рис. 2. Результати сканування мушлі;
Зауважимо, що для зберігання у форматі XYZ з інформацією про реальні розміри сканованого предмету по трьох напрямах – ширина, висота, глибина- необхідно спочатку їх виміряти вручну, а потім ввести до програми.
Для переведення сканованого результату з простору пікселів до реальних розмірів ми використовуємо просту нормалізацію
ВСТУП
РОЗДІЛ 1. FLUID 3D-СКАНУВАННЯ
РОЗДІЛ 2. ДОДАТОК ДЛЯ ANDROID
ВИСНОВКИ