Files
Vinta ChenandClaude 288048afb5 docs: rewrite Computer Vision category intro
The intro predated the 2026-10-02 audit and did not mention the newly added paddleocr.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 16:17:16 +08:00

3.0 KiB

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

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.