39 class PinholeCameraIntrinsic;
47 typedef std::vector<std::shared_ptr<Image>>
ImagePyramid;
69 Image &Clear()
override;
70 bool IsEmpty()
const override;
71 Eigen::Vector2d GetMinBound()
const override;
72 Eigen::Vector2d GetMaxBound()
const override;
73 bool TestImageBoundary(
double u,
double v,
double inner_margin = 0.0)
const;
77 return width_ > 0 && height_ > 0 &&
78 data_.size() ==
size_t(height_ * BytesPerLine());
84 int bytes_per_channel) {
87 num_of_channels_ = num_of_channels;
88 bytes_per_channel_ = bytes_per_channel;
94 return width_ * num_of_channels_ * bytes_per_channel_;
102 std::pair<bool, double> FloatValueAt(
double u,
double v)
const;
111 static std::shared_ptr<Image>
112 CreateDepthToCameraDistanceMultiplierFloatImage(
116 std::shared_ptr<Image> CreateFloatImage(
118 Image::ColorToIntensityConversionType::Weighted)
const;
121 template <
typename T>
122 T *PointerAt(
int u,
int v)
const;
125 template <
typename T>
126 T *PointerAt(
int u,
int v,
int ch)
const;
128 std::shared_ptr<Image> ConvertDepthToFloatImage(
129 double depth_scale = 1000.0,
double depth_trunc = 3.0)
const;
131 std::shared_ptr<Image> Flip()
const;
137 std::shared_ptr<Image> Filter(
const std::vector<double> &dx,
138 const std::vector<double> &dy)
const;
140 std::shared_ptr<Image> FilterHorizontal(
141 const std::vector<double> &kernel)
const;
144 std::shared_ptr<Image> Downsample()
const;
147 std::shared_ptr<Image> Dilate(
int half_kernel_size = 1)
const;
151 Image &LinearTransform(
double scale = 1.0,
double offset = 0.0);
156 Image &ClipIntensity(
double min = 0.0,
double max = 1.0);
161 template <
typename T>
162 std::shared_ptr<Image> CreateImageFromFloatImage()
const;
165 static ImagePyramid FilterPyramid(
const ImagePyramid &input,
169 ImagePyramid CreatePyramid(
size_t num_of_levels,
170 bool with_gaussian_filter =
true)
const;
173 std::shared_ptr<Image> CreateDepthBoundaryMask(
174 double depth_threshold_for_discontinuity_check = 0.1,
175 int half_dilation_kernel_size_for_discontinuity_map = 3)
const;
179 data_.resize(width_ * height_ * num_of_channels_ * bytes_per_channel_);
185 int num_of_channels_ = 0;
186 int bytes_per_channel_ = 0;
std::vector< std::shared_ptr< Image > > ImagePyramid
Typedef and functions for ImagePyramid.
Definition: Image.h:44
Definition: Geometry.h:32
int offset
Definition: FilePCD.cpp:60
Definition: PinholeCameraIntrinsic.h:42
Image & Prepare(int width, int height, int num_of_channels, int bytes_per_channel)
Definition: Image.h:81
~Image() override
Definition: Image.h:66
Definition: Geometry2D.h:36
Image()
Definition: Image.h:65
virtual bool HasData() const
Definition: Image.h:76
void AllocateDataBuffer()
Definition: Image.h:178
char type
Definition: FilePCD.cpp:56
std::vector< uint8_t > data_
Definition: Image.h:187
FilterType
Definition: Image.h:56
Definition: PinholeCameraIntrinsic.cpp:34
int BytesPerLine() const
Definition: Image.h:93
GeometryType
Definition: Geometry.h:34
int height
Definition: FilePCD.cpp:68
const char const char value recording_handle imu_sample recording_handle uint8_t size_t data_size k4a_record_configuration_t config target_format k4a_capture_t capture_handle k4a_imu_sample_t imu_sample playback_handle k4a_logging_message_cb_t void min_level device_handle k4a_imu_sample_t timeout_in_ms capture_handle capture_handle capture_handle image_handle temperature_c k4a_image_t image_handle uint8_t image_handle image_handle image_handle image_handle image_handle timestamp_usec white_balance image_handle k4a_device_configuration_t config device_handle char size_t serial_number_size bool int32_t int32_t int32_t int32_t k4a_color_control_mode_t default_mode value const const k4a_calibration_t calibration char size_t
Definition: K4aPlugin.cpp:720
ColorToIntensityConversionType
Definition: Image.h:51
int width
Definition: FilePCD.cpp:67