- •Розділ 1 теоретичні відомості проекту
- •Засоби активації поверхні
- •Інтерактивна дошка
- •Види електронних інтерактивних дошок.
- •Бібліотека комп’ютерного зору OpenCv
- •Розділ 2. Технічні характеристики та принцип роботи сamtouch
- •Технічна та програмна складові проекту
- •Порядок роботи:
- •Налаштування системи розпізнавання
- •Калібрування
- •Особливості роботи системи
- •Запуск програми
- •Зображення 1 - Головне вікно програми
- •Зображення 2 - Налаштування Експозиції
- •Зображення 9 - Вибір типів калібрування та комп'ютера
- •Зображення 10 - Інструкція з калібрування
- •Зображення 11 - Три відкалібровані кути
- •Висновки
- •Список літератури та джерел інформації
- •Додаток а
- •Додаток б
Бібліотека комп’ютерного зору OpenCv
OpenCV (англ. Open Source Computer Vision Library, бібліотека комп'ютерного зору з відкритим вихідним кодом) - бібліотека алгоритмів комп'ютерного зору, обробки зображень та чисельних алгоритмів загального призначення з відкритим кодом. Реалізована на C / C + +, також розробляється для Python, Java, Ruby, Matlab, та інших мов. Може вільно використовуватися в академічних та комерційних цілях - поширюється в умовах ліцензії BSD.
OpenCV випущено під ліцензією BSD і, отже, його можна безкоштовно використовувати як для академічного, так і для комерційного використання. Він має C + +, C, Python і Java інтерфейс і підтримує Windows, Linux, Mac OS, IOS і Android. OpenCV була розроблена для забезпечення ефективності обчислень та з сильним акцентом на додатки реального часу.
Для завантаження доступні версії для Windows, Mac, Linux. Підтримується безліч мов, включаючи C / C + +, Python, Java.
OpenCV складається з декількох модулів: CXCORE - Ядро, містить:
Базові структури
Матричну алгебру
Алгоритми роботи з пам'яттю
Алгоритми перетворення типів
Алгортми для обробки помилок
Функції для запису / читання XML файлів
Функції для роботи з 2D графіками
CV - Модуль обробки зображень, робота з комп'ютерним зором, містить:
Функції для роботи із зображеннями (перетворення, фільтрація і т.д.)
Функції для аналізу зображень (пошук контурів, гістограми і т.д.)
Алгоритми аналізу рухів, стеження за об'єктами
Алгоритми розпізнання об'єктів (осіб, предметів)
Алгоритми для калібрування камер
ML - Машинне навчання:
Функції для класифікації і аналізу даних
HighGUI - Модуль для створення інтерфейсу, відповідає за:
Створення вікон
Вивід зображень
Захоплення відео з файлів і камер
Читання / Запис зображень
Підтримувані компілятори:
Windows - Microsoft Visual C + +, Borland C + +, Intel Compiler, MinGW Linux - GCC, Intel Compiler Mac - Intel Compiler, Carbon та ін
Розділ 2. Технічні характеристики та принцип роботи сamtouch
Технічна та програмна складові проекту
Проект складається з технічної та програмної частини.
Технічна складова:
комп’ютер, проектор (монітор), веб-камера, спеціальна світлодіодна указка, лазерна указка, фільтр.
Загальний вигляд роботи та основні принципи модифікації обладнання представлено у Додатку 1
Програмна частина:
Бібліотека CamTouch.dll написана на C++ (Visual Studio) з використанням бібліотеки комп’ютерного зору OPENCV.
Робоча программа написана на C# (Visual Studio) з використанням бібліотеки «CamTouch.dll».
Структура програми та фрагмент похідного коду представлені у Додатку Б.
Порядок роботи:
Отримуємо зображення з веб-камери
Визначаємо робочу поверхню.
Для цього достатньо відзначити кути монітора або проекції (програма має можливість автоматичного визначення).
Визначаємо положення вказівника.
Для безпомилкового визначення світлового випромінювача використовується світлофільтр
Виконуємо перетворення координат.
Для відсіювання непотрібних об'єктів використовується граничне перетворення з заданими границями.
Налаштування системи розпізнавання
Спочатку отримуємо зображення з веб-камери. Конвертуємо його у HSV формат з використанням параметрів встановлених користувачем. Виконуємо пошук указки, якщо вона знайдена, то відмічаємо її положення на зображенні. Виводимо оброблене зображення на екран. Після завершення зберігаємо встановленні параметри у конфігураційний файл.
