Tamkovich.com: Телеком/VoIP блог
Современные технологии: Asterisk, SIP, Kamailio, Linux, Cisco, Linksys
OpenCV 2 Computer Vision Application Programming Cookbook
16 сентября, 2011 by Сергей Тамкович
Книги, Программирование OpenCVКнижка OpenCV 2 Computer Vision Application Programming Cookbook изданная индусско-английским издательством packt publishing посвящена кросс-платформенной библиотеке OpenCV. Packt Publishing это конечно не O’Reilly, но книжки издаёт весьма добротные. Не стала исключением и эта. Cookbook — это поваренная книга. Обычно, в таких книгах отсутствуют пространные теоретизирования и объёмные лирические отступления. Как говорится — straight to business. Такие книги я люблю.
Библиотека OpenCV (Open Computer Vision) родилась в Москве в 1999 году — в Русском отделении компании Intel. На сегодняшний день библиотека содержит несколько сотен алгоритмов предназначенных для распознавания примитивов (линии, круги, границы объектов и т.д.), жестов, лиц, движения, моделирования 3х-мерного пространства по данным со стереокамеры и так далее. Кроме алгоритмов обрабатывающих визуальные данные, библиотека содержит несколько вспомогательных модулей. На самом деле эти вспомогательные модули — полноценные библиотеки, которые могут быть подсоединены к вашему проекту. Так, например, библиотека highgui из состава OpenCV отвечает за отрисовку окон, чтение и запись различных видео и графических форматов, работу с камерами и так далее. Библиотека MLL (Machine Learning Library) пригодится вам, если вы делаете робота. В MLL реализованы разнообразные статистические алгоритмы: дерево принятия решений, EM-алгоритм, метод K ближайших соседей, наивный Бейесовский классификатор, нейронные сети и многое другое. За 12 лет существования библиотека OpenCV стала мощным и стабильным кросс-платформенным решением.
Но вернёмся к книге OpenCV 2 Computer Vision Application Programming Cookbook. Рецепты, из которых состоит книга, тематически сгруппированы в 10 глав — от простого «как подключить OpenCV к Visual Studio» до «как выделить объект переднего плана в видео». Каждый рецепт состоит из нескольких частей. Сначала даётся вводная, например «для сравнения изображений необходимо найти интересные точки». Затем идёт секция под названием «Geting Ready», в которой описывается подготовка к решению данной задачи. Затем даётся решение поставленной задачи — сам рецепт. После краткого описания и куска кода идёт секция «How it works» в которой просто и понятно объясняется как работает данный рецепт. Не стоит пугаться, к сожалению (или к счастью) книга не сильно углубляется в матанализ.
Ещё одним достоинством книги, кроме простого/понятного языка и замечательной структурированности материала является её актуальность. Книга посвящена второй версии библиотеки (OpenCV 2.x). Начиная с этой версии, основным интерфейсом библиотеки является объектно ориентированный вариант. Все рецепты в книге — актуальны не только по смыслу, но и по реализации (по использованному API).
Недостатком данной книжки считаю её объём — она слишком маленькая :) За скобками, например, осталась работа с библиотекой MLL. Да и по обработки изображений прошлись галопом — в пятидесяти рецептах невозможно раскрыть все возможности OpenCV. Остаётся надеяться лишь на новые книжки этого автора, которые, может быть, когда-нибудь появятся. Книжка мне понравилась — рекомендую к прочтению
Книги, Программирование OpenCV