Robots Atlas>ROBOTS ATLAS
OpenCV

Perception · Perception & Vision Software

OpenCV

OpenCV 4.13.0·OpenCV.org / OpenCV Foundation

Active Open source Real-time capable API available
CATEGORYPerception · Perception & Vision Software
READINESSTRL 9
ADOPTION SCALEWidespread – Critical Infrastructure
LICENSESApache-2.0
FIRST RELEASE2000

OpenCV (Open Source Computer Vision Library) is the flagship library of computer vision algorithms, used in nearly every robotic project involving image processing — from a cheap educational mobile robot to autonomous driving systems. Initiated in 1999 by Gary Bradski at Intel Research (Santa Clara), with the goal of providing open-source vision infrastructure. First public release in 2000, version 1.0 in 2006. Since 2012 stewarded by the non-profit OpenCV Foundation; today actively supported by OpenCV.ai. Apache 2.0 license (since 4.5.0 in 2020; previously BSD-3).

OpenCV offers > 4000 optimized functions in 12+ modules: core (matrices, data types), imgproc (filters, geometric transforms), features2d (SIFT, SURF, ORB, AKAZE), calib3d (camera calibration, stereo, fundamental matrix), video (Optical Flow Lucas-Kanade, Farnebäck, DIS), objdetect (Haar cascades, HOG, DNN-based YOLO), dnn (deep neural network inference for Caffe, TensorFlow, ONNX), gapi (Graph API for pipelines), and the CUDA module for GPU acceleration.

Bindings: C++ (native), Python (cv2 — most popular), Java (Android), JavaScript (opencv.js). Cross-platform support: Linux, Windows, macOS, Android, iOS, embedded (Jetson, Raspberry Pi). OpenCV is the foundation of every ROS perception node — built into cv_bridge, image_pipeline, vision_msgs.

Type & Roles
Software types
Computer Vision Library
Perception Stack

A Perception Stack encompasses the software layers that process data from cameras, LiDARs, IMUs, microphones, and other sensors in order to recognise the surrounding environment, perform localisation, detect and track objects, and interpret the scene. It is typically the first processing stage in an autonomous robot's data pipeline, feeding its outputs to planning and control stacks.

API Library

An API Library is a software package that exposes programmatic interfaces for communicating with a device, service, or system. In robotics it typically forms a lightweight integration layer built on top of the manufacturer's official API or an open-source project, abstracting low-level protocol details and providing language-native bindings (Python, C++, Java, etc.).

Select an item to see its description.
Main category
Perception & Vision SoftwareSDKs
Roles in robotics ecosystem
PerceptionComputer VisionAPI AccessDeveloper Enablement
Software family
Family
Perception & Vision

A family of open-source robotic perception libraries: Visual SLAM (ORB-SLAM, RTAB-Map), computer vision (OpenCV), point cloud processing (PCL, Open3D), detection and segmentation (YOLO, Detectron2).

Maturity & Adoption
9 / 9
Proven in operational conditions
ResearchPrototypeProduction
Adoption scaleWidespread – Critical Infrastructure
Maintenance statusMaintained by Foundation
First release2000
Last update20 May 2026
Deployments

Every ROS perception node, Tesla Autopilot (earlier), Boston Dynamics Spot (cv_bridge), Roomba (iRobot), Skydio drones (in the past), AWS DeepLens, Stripe/PayPal OCR. The standard in 95% of university vision courses. > 50 million pip downloads per year.

Community

github.com/opencv/opencv ~82k★, ~55k forks, > 50k contributors. forum.opencv.org ~30k registered users. > 30 million downloads per year. Books: Learning OpenCV (Bradski/Kaehler) — over 100k copies sold.

Integrates with
R2
ROS 2
Open-source framework for building robot software. The successor to ROS 1, built on DDS with native support for distributed, real-time and multi-platform systems. The de facto standard in research and commercial robotics.
R2
ROS 2 Humble Hawksbill
LTS release of the ROS 2 framework based on Ubuntu 22.04, supported through May 2027. The most widely deployed release in humanoids, AMRs, and research platforms. Full integration with Nav2, MoveIt 2 and ros2_control.
R2
ROS 2 Jazzy Jalisco
ROS 2 Jazzy Jalisco — the latest LTS (May 2024, supported until May 2029) on Ubuntu 24.04. C++17, Fast DDS 3.0, improved executors, RMW Zenoh, better QoS for variable networks.
R
realsense-ros
The official Intel ROS 2 wrapper for RealSense cameras. Publishes depth, color, infrared, IMU, and pointcloud2 topics; supports an Action Server for calibration triggers. The IntelRealSense/realsense-ros repo — the most installed camera wrapper in ROS 2.
N
Nav2
The professionally-supported successor to the ROS Navigation Stack — a production-grade navigation framework for mobile robots, quadrupeds, and AGVs. Behavior Trees, planners (Smac, NavFn, Theta*), controllers (MPPI, RPP, DWB), AMCL, costmaps.
M2
MoveIt 2
Open-source motion planning, manipulation, and kinematics framework for ROS 2 (Foxy → Jazzy). Stewarded by PickNik Robotics. The de facto standard for manipulators in the ROS ecosystem.
P(
PCL (Point Cloud Library)
An open-source C++ library for processing 3D point clouds — filtering, segmentation, registration (ICP), 3D features, surface reconstruction. Initiated at Willow Garage in 2010.
NI
NVIDIA Isaac Sim
Photorealistic robotics simulator (RTX) with advanced PhysX 5 physics. Built on Omniverse Kit, supports ROS 2, synthetic data generation (SDG), Isaac Lab training, and the Isaac ROS deployment pipeline on Jetson.
GH
Gazebo Harmonic (gz-sim)
An LTS release of the new-generation Gazebo (gz-sim), released in September 2023 — the successor to Gazebo Classic. Modular architecture, integrated with ROS 2 Humble/Iron/Jazzy, supported until September 2028.
M(
MuJoCo (Multi-Joint dynamics with Contact)
Open-source rigid-body physics engine with accurate contact and friction, by Emo Todorov. Apache 2.0 since 2021, maintained by DeepMind. Standard for learning-based robotics (RL) and sim-to-real.
Target robotic platforms
Humanoid
Quadruped
Mobile Robot
Robotic Arm
Service Robot
Research Robot
Drone / UAV
ROS supportCompatibility with ROS / ROS 2 ecosystem
Official ROS 2 PackagePakiet dostępny w oficjalnym rejestrze ROS 2 przez rosdep / apt (packages.ros.org)
Official ROS 1 PackagePakiet dostępny w oficjalnym rejestrze ROS 1 (packages.ros.org)
ROS 2 Bridge / AdapterMost lub adapter łączący oprogramowanie z ekosystemem ROS 2 bez natywnej integracji
System capabilities
Open source
Source code is publicly available under an open-source license — enables security audits, custom modifications, and integration without licensing barriers.
Real-time capable
Designed with timing-determinism guarantees — meets the requirements of control loops, safety systems, and tasks demanding low, predictable latency.
⟨/⟩
API available
The software exposes a programmable interface (REST, gRPC, SDK, or language bindings) that enables automation and integration with other systems.
📦
Pre-built / binary
Distributed as ready-to-use binary packages, container images, or installers — no need to build from source.
Programming languages
C++PythonCJavaScriptCUDA
Operating systems
Ubuntu 22.04Ubuntu 20.04DebianmacOSWindows
Minimum hardware requirements
Minimum hardware requirements
CPUDual-core x86-64 ≥ 1.5 GHz or ARM (Raspberry Pi 4+, Jetson Nano+); OpenCV is extremely scalable.
RAM (GB)1
GPUOptional — the CUDA module gives a 10× speedup; OpenCV also runs CPU-only.
Disk (GB)1

The lightest perception library — runs even on ESP32-CAM (microcontroller).

Packaging & distribution
Package managers
apt / debpip / PyPIconda / mambaSource – CMake / ament_cmakeDocker / Docker HubGitHub Releases / GitHub Actions Artifacts
CPU architectures
x86_64 (AMD64)ARM64 / AArch64NVIDIA Jetson – AArch64 (JetPack)Apple Silicon – AArch64 (macOS)Raspberry Pi – AArch64 (BCM)ARMv7 / ARM32 (armhf)
Installation difficulty
LevelOut of the box
Protocols and interfaces
Communication protocols
Shared Memory (POSIX / mmap)ROS 2 Topics
Hardware interfaces
USB 2.0USB 3.0 / 3.1 Gen 1MIPI CSI-2Ethernet 1000BASE-T (Gigabit Ethernet)
Latency classes
Hard Real-Time (1–5 ms)Hard Real-Time (5–20 ms)Soft Real-Time (20–100 ms)
Deployment types
Local WorkstationOn RobotEdgeCloudContainerized
Supported simulators
Gazebo Harmonic
NVIDIA Isaac Sim
Webots
Official Docker images
ros:humble-desktopros:jazzy-desktopnvcr.io/nvidia/isaac/ros
Licenses
Apache-2.0Apache License 2.0v2.0

License family: Permissive

ModificationDistributionCommercial useSublicensingPrivate useROS-compatibleOSI approvedFSF Free/LibreRequires attributionPatent grant
Version history
OpenCV 4.13.0Oct 2025

Current stable release — Python 3.13 support, better fp16.

OpenCV 4.10.0Jun 2024

Full ONNX 1.16 support, DNN improvements for YOLO v8.

OpenCV 4.5.0Oct 2020

License change to Apache 2.0. Added RISC-V support.

OpenCV 4.0Nov 2018

C++11 requirement, GAPI (Graph API), DNN module.

OpenCV 3.0Jun 2015

Modular architecture, opencv_contrib, T-API (transparent OpenCL).

OpenCV 2.0Sept 2009

Introduction of C++ API — a fundamental paradigm shift.

OpenCV 1.0Oct 2006

First stable C-API release.