AIST_2013 - alalek/opencv GitHub Wiki
Докладчик: Кирилл Корняков
Для практического занятия по OpenCV необходимо предварительно проделать следующее:
- Установить OpenCV согласно инструкции для вашей платформы, руководства находятся здесь.
- Запустить на своей машине один из простейших сэмплов, например этот.
- Основное время будет посвящено задаче нахождения плоского текстурного объекта, руководствуясь следующим уроком. Для тех, кто с данной задачей знаком, предлагается выбрать себе урок по душе, и пройти его самостоятельно, при необходимости обращаясь за помощью.
- Ответы на вопросы
- Вводная информация
- Понятие локальных особенностей, детекторы и дескрипторы
- Практическое применение features2d модуля (AR, stitching, TOD)
- Разбор приложения для практического занятия
- Запустить простое OpenCV приложение на своей машине (пример).
- Запустить приложение для детектирования плоского текстурного объекта согласно инструкции. Тестовые изображения прикреплены к данной странице ниже.
- Задания:
- Запустить приложение на собственном изображении. Для этого нужно сделать 2 снимка: плоское изображение объекта (скан) и его изображение в сцене. Стоит выбрать крупный объект с “богатой” текстурой, а также аккуратно вырезать эталонное изображение.
- Преобразовать приложение таким образом, чтобы поиск объекта осуществлялся на видео. Для работы с камерой необходимо использовать класс
VideoCapture
. - Вставить замер времени работы алгоритма (
getTickCount
,getTickFrequency
). - Сократить время работы за счет вынесения подсчета дескрипторов для эталонной картинки из тела цикла.
- Попробовать
BFMatcher
. Внимание: следует использовать метрики сравнения, соответствующие выбранным дескрипторам. - Попробовать другие детекторы особых точек, например SIFT, ORB (features2d, nonfree).
- Дополнительные примеры (https://github.com/opencv/opencv/blob/2.4/samples/cpp/):
- matching_to_many_images.cpp
- brief_match_test.cpp
- descriptor_extractor_matcher.cpp
- detector_descriptor_evaluation.cpp
- detector_descriptor_matcher_evaluation.cpp
- freak_demo.cpp
- generic_descriptor_match.cpp
- matcher_simple.cpp
- video_homography.cpp
- Python: samples/python2/feature_homography.py, http://www.youtube.com/watch?v=FirtmYcC0Vc