Библиотеки для компьютерного зрения
Компьютерное зрение (Computer Vision) – современная технология и область исследований по автоматизации понимания того, что именно мы видим в окружающем мире. Но автоматизация невозможна без использования соответствующего программного обеспечения. В этой заметке мы перечислим основные современные инструменты, используемые для компьютерного зрения.
OpenCV
Open Source Computer Vision Library – известнейшая библиотека алгоритмов компьютерного зрения. Широко используется для обработки изображений и численных алгоритмов общего назначения. Сама она реализована на языке программирования C/C++, но также разрабатывается и для Python, Java, Matlab, Ruby, Lua и других языков.
Вы можете посмотреть примеры работы с OpenCV в следующих наших статьях: • «Работаем с OpenCV на Python»; • «Пишем скрипт для поиска с помощью Python и OpenCV».
PCL
Point Cloud Library — крупномасштабный открытый проект, предназначенный для обработки облаков точек и 2D/3D-изображений. Эта платформа включает в себя множество алгоритмов, в том числе фильтрацию, реконструкцию поверхности, оценку характеристик, регистрацию, сегментацию, подбор модели.
ROS
Библиотека Robot Operating System представляет собой платформу разработки программного обеспечения для роботов. Это, по сути, набор инструментов, соглашений и библиотек, упрощающих разработки сложных и эффективных программ, предназначенных для управления многими типами роботов.
MATLAB
MATLAB — это интерактивная среда для программирования и высокоуровневый язык, с помощью которого можно выполнять численные расчёты с последующей визуализацией результатов. Используя MATLAB, вы сможете анализировать данные, создавать модели и приложения, разрабатывать алгоритмы.
CUDA
Compute Unified Device Architecture — это программно-аппаратная архитектура параллельных вычислений, позволяющая значительно повысить вычислительную производительность. Достигается это, в том числе и за счёт применения графических процессоров фирмы Nvidia.
Архитектура CUDA даёт возможность по своему усмотрению организовывать доступ к набору инструкций тензорного либо графического ускорителя, а также управлять его памятью. Функции, которые ускорены посредством CUDA, вы сможете вызывать из разных языков, включая Python, MATLAB и пр.
А какие инструменты используете вы? Пишите в комментариях!