← all repositories
open-mmlab/mmcv

The plumbing behind OpenMMLab's computer vision stack

MMCV exists so that two dozen OpenMMLab toolboxes don't each have to rewrite image transforms, CNN layers, and custom CUDA kernels.

6.4k stars Python Computer VisionML Frameworks
mmcv
Not currently ranked — collecting fresh signals.
star history

What it does

MMCV is the foundational Python library for the OpenMMLab computer vision ecosystem. It bundles image and video processing, annotation visualization, data transforms, reusable CNN architectures, and hand-optimized CPU and CUDA operations. In short, it is the shared plumbing that keeps MMDetection, MMSegmentation, and their many siblings from reinventing the same wheels.

The interesting bit

Version 2.0.0, released in April 2023, performed a major refactor: it stripped out all training-related components, which migrated to the newer MMEngine library, and replaced them with a dedicated data-transformation module. The project now maintains a legacy 1.x branch in maintenance mode while iterating on 2.x, and it offers both a full CUDA-enabled build and a lightweight mmcv-lite variant for CPU-only environments.

Key highlights

  • Bundles common CV primitives—image/video I/O, transforms, visualization, and CNN layers—into one dependency shared across the entire OpenMMLab suite.
  • Ships high-quality custom CPU and CUDA operations, though pre-built wheels are not guaranteed for every PyTorch and CUDA combination.
  • Split responsibilities in v2.0: training logic moved to MMEngine, while MMCV focuses on data processing and low-level ops.
  • Dual packaging: mmcv for full GPU support and mmcv-lite for leaner, CPU-only installs.
  • Cross-platform support for Linux, Windows, and macOS, requiring Python 3.7+.

Caveats

  • The 1.x branch is frozen in maintenance mode as of January 2024, so new features land only on 2.x.
  • Some specific operations carry licenses other than Apache 2.0, which means commercial users need to audit LICENSES.md before shipping.
  • If your PyTorch/CUDA version lacks a pre-built wheel, expect to compile from source.

Verdict

If you are building or extending any OpenMMLab project, you are already depending on this. For standalone CV research, it is a solid but opinionated collection of utilities; if you do not need its tightly coupled ecosystem, standard PyTorch plus torchvision may be less baggage.

Frequently asked

What is open-mmlab/mmcv?
MMCV exists so that two dozen OpenMMLab toolboxes don't each have to rewrite image transforms, CNN layers, and custom CUDA kernels.
Is mmcv open source?
Yes — open-mmlab/mmcv is open source, released under the Apache-2.0 license.
What language is mmcv written in?
open-mmlab/mmcv is primarily written in Python.
How popular is mmcv?
open-mmlab/mmcv has 6.4k stars on GitHub.
Where can I find mmcv?
open-mmlab/mmcv is on GitHub at https://github.com/open-mmlab/mmcv.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.