Если вы хотите заниматься компьютерным зрением и не хотите тратить годы на разработку кода с нуля, вам, вероятно, понадобится OpenCV. После почти 4-летнего ожидания появился OpenCV 4.0.
OpenCV-это библиотека компьютерного зрения, к которой большинство из нас обращается, когда мы просто хотим попробовать что-то, не вдаваясь в фундаментальные исследования. Он включает в себя модули для стандартных задач обработки изображений, таких как фильтрация, деформация, преобразование цветового пространства и так далее. Видеомодуль включает в себя передовые методы, такие как отслеживание объектов и вычитание фона. Вы можете взять модули и соединить их вместе с вашим собственным кодом, чтобы создать что — то новое-вот что такое открытый исходный код.
Последняя версия перешла на C++11, и вам нужен компилятор C++11, чтобы использовать его. Как говорится в релизе:
Многие C API из OpenCV 1.x были удалены.
Это понятно, поскольку C++ значительно упрощает обработку изображений, но C по-прежнему используется на множестве небольших устройств для достижения наилучшей производительности. Интерфейс C++ по-прежнему можно использовать из Python.
Была проделана большая работа по улучшению хранения данных в XML, YAML или JSON в основном модуле, и API C был удален. Модуль глубокого обучения был обновлен с помощью инструментария развертывания глубокого обучения от Intel OpenVINO, и теперь у него есть экспериментальный бэкэнд Vulkan.
Несмотря на то, что Kinect больше не существует, OpenCV по-прежнему поддерживает алгоритм Kinect Fusion и оптимизирован для CPU и GPU с использованием OpenCL.
Одним из дополнений, которое может быть более привлекательным, чем большинство, является новый детектор и декодер QR-кода. Это позволит обнаружить QR-код на изображении, а затем декодер может быть использован для его декодирования.
Самой большой новой функцией является G-API, основанный на графах API, который позволяет объединять конвейеры обработки изображений. Вы задаете операции в виде графика, а затем G-API разработает, как запустить его в различных конфигурациях оборудования, чтобы максимизировать пропускную способность. Единственным недостатком является то, что не все операторы могут быть выражены в виде графика, и на данный момент его конвейеры ограничены стандартными вариантами обработки изображений — фильтрами, бинарными операциями и геометрическими преобразованиями.
Наконец, если вы хотите повлиять на будущее OpenCV, заполните опрос OpenCV 2018.