Package to load and save image data.

The package internally implements kornia_rs which contains a low level implementation for Computer Vision in the Rust language. In addition, we implement the DLPack protocol natively in Rust to reduce the memory footprint during the decoding and types conversion.


You need to pip install kornia_rs to use this package. For now we only support Linux platforms. Contact us or sponsor the project for more support (mac, win, rust, c++, video and camera). See: https://opencollective.com/kornia


The package needs at least PyTorch 1.10.0 installed.

import kornia as K
from kornia.core import Tensor

img: Tensor = K.io.load_image(file_path, ImageType.UNCHANGED, device="cuda")
# will load CxHxW / in the original format in "cuda"

img: Tensor = K.io.load_image(file_path, ImageType.RGB8, device="cpu")
# will load 3xHxW / in torch.uint in range [0,255] in "cpu"

img: Tensor = K.io.load_image(file_path, ImageType.GRAY8, device="cuda")
# will load 1xHxW / in torch.uint8 in range [0,255] in "cuda"

img: Tensor = K.io.load_image(file_path, ImageType.GRAY32, device="cpu")
# will load 1xHxW / in torch.float32 in range [0,1] in "cpu"

img: Tensor = K.io.load_image(file_path, ImageType.RGB32, device="cuda")
# will load 3xHxW / in torch.float32 in range [0,1] in "cuda"
kornia.io.load_image(path_file, desired_type, device='cpu')[source]#

Read an image file and decode using the Kornia Rust backend.

  • path_file (str) – Path to a valid image file.

  • desired_type (ImageLoadType) – the desired image type, defined by color space and dtype.

  • device (str, optional) – the device where you want to get your image placed. Default: 'cpu'

Return type



Image tensor with shape \((3,H,W)\).

class kornia.io.ImageLoadType(value)[source]#

Enum to specify the desired image type

GRAY32 = 4#
GRAY8 = 1#
RGB32 = 5#
RGB8 = 2#
RGBA8 = 3#