повороту b навколо осі oy.
При повороті навколо осі oy координати точок коду, що лежать на осі oy не зміняться, а по зміні координат точок, що лежать на осі ox, можна судити про вугілля b (малюнок 17).
Малюнок 17 - Поворот навколо обох осей x і y
При повороті проти годинникової стрілки навколо oy координата Z точки Uп збільшиться і стане дорівнює Z `+ A / 2 * sin (b), а координата X зменшиться і стане дорівнює cos (b) * A / 2 .
(19)
Використовуючи формулу (19) і знаючи Z `, знаходимо шуканий кут b.
Визначення кута повороту QR коду в картинній площині камери, тобто в площині xoy, проводитиметься шляхом аналізу координат центрів верхній лівій і верхній правій мішеней. При нульовому куті повороту координати у обох мішеней збігаються, а при повороті коду змінюються. По різниці? Координат можна судити про вугілля повороту.
3. Програмне забезпечення для розпізнавання QR коду та визначення його орієнтації
3.1 Опис програми
Програма являє собою додаток для розпізнавання коду і визначення кутів повороту площини, в якій він лежить, щодо камери. Для розпізнавання QR коду нами була використана бібліотека для роботи з комп'ютерним зором OpenCV. За допомогою неї кадри, що надходять з камери, обробляються і перевіряються на наявність QR коду. Роботу частини програми, що відповідає за детектування, описує блок схема, зображена на малюнку 18.
Малюнок 18 - Блок-схема алгоритму виявлення QR коду
Побудований на першому етапі масив нулів і одиниць далі розшифровується на основі алгоритму, наведеного в специфікації [5]. Блок-схема, зображена на малюнку 19 графічно відображає кроки, які необхідно пройти для розшифровки QR коду.
Малюнок 19 - Блок-схема алгоритму розшифровки QR коду
Інформація про координати вершин QR коду, отримана в ході його розпізнавання, використовується для знаходження просторової орієнтації площини QR коду.
3.2 Тестування програми
При запуску програми починається відеозахват з камери. Всі знімки робляться автоматично (малюнок 20).
Малюнок 20 - Знімок QR коду
На камеру надходить картинка кожні 33 мc, автоматично обробляється і сканується на наявність мішеней (малюнок 22).
Малюнок 21 - Знімок після порогового перетворення
Малюнок 22 - Знімок з намальованими на ньому знайденими мішенями
Як тільки надходить зображення, що має 3 мішені, запускається код розпізнавання: знаходяться вершини QR коду, будується сітка і далі масив нулів і одиниць, який виводиться в консоль і записується у файл (малюнок 23). p>
Малюнок 23 - Знімок з намальованою на ньому побудованої сіткою
Відповідно до алгоритму розпізнавання, описаним в специфікації, відбувається розшифровка отриманого масиву біт, і таким чином ми отримуємо інформацію про предмет, на який нанесений QR код.
Далі відповідно до розробленого алгоритмом ми визначаємо орієнтацію коду щодо камери,...