Image

class Image<type T = Float32> : linalg::Matrix<T> {
    ...
}

Basically a two-dimensional array with dynamic size.

Pixel access with operator[x, y]:

ImageView as “read-only reference” of sub-areas (with stride).
ImageBasicView as “read-only reference” with continuous pixels (i.e. no stride, just cut off at top or bottom).

Common image-processing member functions:

Same operations as free functions:

Row-Major

Images (unlike matrices) are stored row-major, like:

0 1 2
3 4 5
6 7 8

Datatype & Precision

The default datatype is Float32 (32-bit precision), well suited for image processing and machine vision.

For handling JPEG or PNG images you may use these derivations: