Computer Vision

Libraries for image and video analysis, object detection, and OCR.

OpenCV processes images and video. Training your own detector needs more than a Python computer vision library scoped to inference, so reach for Ultralytics.

How to choose:

  • Reading, editing, and analyzing images and video: OpenCV
  • Detecting, segmenting, or tracking objects with a trained model: Ultralytics
  • Image operations inside a PyTorch model or training loop: Kornia
  • Browsing a dataset, finding label mistakes, and seeing where a model fails: FiftyOne
  • Printed text in clean scans: pytesseract
  • Text in photos or degraded scans: EasyOCR
  • Tables and page layouts, turned into Markdown or JSON: PaddleOCR

Listed in editorial order, grouped by use case. Click a column header to re-sort the whole list.

Press / to search. Tags open their category. Click a row for details.

Search and filter

Results

Row number Tags

General 4 projects

Open Source Computer Vision Library.
opencv/github.com/opencv/opencv-python /5,438 stars /
Ultralytics YOLO for object detection, segmentation, pose estimation, classification, and tracking.
Open-source differentiable computer vision library for PyTorch.
kornia/github.com/kornia/kornia /11,457 stars /
The open-source tool for building high-quality datasets and computer vision models.
voxel51/github.com/voxel51/fiftyone /11,250 stars /

OCR 3 projects

A wrapper for the Tesseract OCR engine.
madmaze/github.com/madmaze/pytesseract /6,397 stars /
Ready-to-use OCR with 80+ languages supported.
JaidedAI/github.com/JaidedAI/EasyOCR /30,121 stars /
Multilingual OCR and document parsing toolkit based on PaddlePaddle.

Computer Vision guide

OpenCV's Python bindings convert every OpenCV array to and from a NumPy array, so the images you load work with any other library that uses NumPy.

Ultralytics runs YOLO models for detection, segmentation, pose estimation, and tracking from one Python package and CLI. Load a pretrained model and call .train() on your own dataset: the weights carry over with no extra code. Ultralytics is AGPL, so using it without open-sourcing your project takes its Enterprise License.

Kornia is a differentiable computer vision library like OpenCV, with strong GPU support, built on PyTorch tensors. Its FAQ states the split: Kornia provides operators to train networks, while OpenCV's scope is inference.

FiftyOne is for building better datasets. Load your images and labels as a Dataset to search and sort samples and spot label mistakes. Then add your model's predictions and evaluate them sample by sample in the FiftyOne App to see where it goes wrong.

pytesseract is a wrapper for Google's Tesseract engine, which you install on its own. image_to_string() returns the text, and image_to_data() adds boxes and confidences.

EasyOCR reads many languages and scripts with deep learning models on PyTorch. Create one Reader and reuse it: it loads the models into memory once, then reads as many images as you give it.

PaddleOCR does two jobs: general OCR reads text, and document parsing turns PDFs and document images into Markdown and JSON that keep the original structure.

Load and crop images with OpenCV, then pass the NumPy arrays on: EasyOCR, PaddleOCR, and Ultralytics all take them as input.

Know a project that belongs here?

Tell us what it does and why it stands out.