Go to the documentation of this file.
15 #include <Eigen/Dense>
28 : image_size_(image_size), pitch_bytes_(pitch_bytes) {}
33 template <
class TPixelFormat>
38 layout.image_size_ = image_size;
39 layout.pitch_bytes_ = pitch_bytes;
44 template <
class TPixelFormat>
47 return makeFromSizeAndPitch<TPixelFormat>(
48 image_size, image_size.width *
sizeof(TPixelFormat));
54 [[nodiscard]]
auto width() const ->
int {
return image_size_.
width; }
55 [[nodiscard]]
auto height() const ->
int {
return image_size_.
height; }
57 [[nodiscard]]
auto pitchBytes() const ->
size_t {
return pitch_bytes_; }
59 [[nodiscard]]
auto area() const ->
size_t {
63 return pitch_bytes_ *
height();
70 size_t pitch_bytes_ = 0;
73 static_assert(concepts::ImageLayoutTrait<ImageLayout>);
76 auto operator==(ImageLayout
const& lhs, ImageLayout
const& rhs) -> bool;
78 auto operator!=(ImageLayout
const& lhs, ImageLayout
const& rhs) -> bool;
81 auto operator<<(std::ostream& os, ImageLayout
const& layout) -> std::ostream&;
#define SOPHUS_ASSERT_GE(...)
Definition: common.h:42
auto height() const -> int
Definition: layout.h:55
auto pitchBytes() const -> size_t
Definition: layout.h:57
ImageLayout(ImageSize image_size, size_t pitch_bytes)
Definition: layout.h:27
Layout of the image: width, height and pitch in bytes.
Definition: layout.h:23
static auto makeFromSize(sophus::ImageSize image_size) -> ImageLayout
Definition: layout.h:45
Image MutImage, owning images types.
Definition: num_diff.h:20
auto area() const -> size_t
Definition: layout.h:59
auto width() const -> int
Definition: layout.h:54
static auto makeFromSizeAndPitch(ImageSize image_size, size_t pitch_bytes) -> ImageLayout
Definition: layout.h:34
auto operator!=(ImageSize const &lhs, ImageSize const &rhs) -> bool
Definition: image_size.cpp:37
auto operator==(Region< TT > const &lhs, Region< TT > const &rhs) -> bool
Definition: region.h:367
auto isEmpty() const -> bool
Definition: layout.h:66
int height
Vertical height of images, i.e. number of rows.
Definition: image_size.h:56
int width
Horizontal width of images, i.e. number of columns.
Definition: image_size.h:53
auto operator<<(std::ostream &os, ImageSize const &image_size) -> std::ostream &
Ostream operator.
Definition: image_size.cpp:46
ImageLayout(int width, int height, size_t pitch_bytes)
Definition: layout.h:30
auto sizeBytes() const -> size_t
Definition: layout.h:62
auto imageSize() const -> sophus::ImageSize const &
Definition: layout.h:51
Image size, hence its width and height.
Definition: image_size.h:21