/caer

A lightweight, GPU-accelerated Computer Vision library for high-performance AI research.

Primary LanguagePythonMIT LicenseMIT

Caer - Modern Computer Vision on the Fly

Python PyPI Downloads license

Introduction

Caer is a lightweight Computer Vision library for high-performance AI research. It simplifies your approach towards Computer Vision by abstracting away unnecessary boilerplate code enabling maximum flexibility. By offering powerful image and video processing algorithms, Caer provides both casual and advanced users with an elegant interface for Machine vision operations.

It leverages the power of libraries like OpenCV and Pillow to speed up your Computer Vision workflow — making it ideal if you want to quickly test out something.

This design philosophy makes Caer ideal for students, researchers, hobbyists and even experts in the fields of Deep Learning and Computer Vision to quickly prototype deep learning models or research ideas.

Overview

Caer is a Python library that consists of the following components:

Component Description
caer A lightweight GPU-accelerated Computer Vision library for high-performance AI research
caer.data Standard high-quality test images and example data
caer.filters Sharpening, edge finding, rank filters, thresholding, etc
caer.utils Generic utilities
caer.path OS-specific path manipulations
caer.preprocessing Image preprocessing utilities.
caer.video Video processing utilities

Usually, Caer is used either as:

  • a replacement for OpenCV to use the power of GPUs.
  • a Computer Vision research platform that provides maximum flexibility and speed.

Installation

See the Caer Installation guide for detailed installation instructions including building from source.

Currently, caer supports releases of Python 3.6 onwards; Python 2 is not supported (nor recommended). To install the current release:

$ pip install --upgrade caer

Getting Started

Examples

>> import caer

# Load a standard 640x427 test image that ships out-of-the-box with caer
>> sunrise = caer.data.sunrise(rgb=True)

# Resize the image to 400x400 while MAINTAINING aspect ratio
>> resized = caer.resize(sunrise, target_size=(400,400), keep_aspect_ratio=True)

For more examples, see the Caer demos.

Resources

Contributing

We appreciate all contributions. If you plan to contribute new features, utility functions, or extensions to the core, please go through our Contribution Guidelines. By participating, you are expected to uphold the Code of Conduct.

To contribute, start working through the caer codebase, read the Documentation, navigate to the Issues tab and start looking through interesting issues.

Current contributors can be viewed either from the Contributors file or by using the caer.__contributors__ command.

License

Caer is released under the MIT License.