9 #include <core/data/flexible_type/flexible_type.hpp> 10 #include <core/storage/sframe_interface/unity_sframe.hpp> 14 namespace image_util {
16 void copy_image_to_memory(
const image_type& input,
unsigned char* outptr,
17 const std::vector<size_t>& outstrides,
18 const std::vector<size_t>& outshape,
21 void copy_image_to_memory(
const image_type& input,
float* outptr,
22 const std::vector<size_t>& outstrides,
23 const std::vector<size_t>& outshape,
29 std::shared_ptr<unity_sarray> _head_str(std::shared_ptr<unity_sarray> image_sarray,
size_t num_rows);
35 flexible_type sum(std::shared_ptr<unity_sarray> unity_data);
40 flexible_type generate_mean(std::shared_ptr<unity_sarray> unity_data);
52 std::shared_ptr<unity_sframe> load_images(std::string url, std::string format,
53 bool with_path,
bool recursive,
bool ignore_failure,
bool random_order);
58 flexible_type load_image(
const std::string& url,
const std::string format);
71 flexible_type decode_image(
const flexible_type& data);
76 std::shared_ptr<unity_sarray> decode_image_sarray(
77 std::shared_ptr<unity_sarray> image_sarray);
83 flexible_type encode_image(
const flexible_type& data);
96 flexible_type resize_image(
const flexible_type& image,
size_t resized_width,
97 size_t resized_height,
size_t resized_channel,
bool decode =
false,
98 int resample_method = 0);
102 std::shared_ptr<unity_sarray> resize_image_sarray(
103 std::shared_ptr<unity_sarray> image_sarray,
size_t resized_width,
104 size_t resized_height,
size_t resized_channels,
bool decode =
false,
105 int resample_method = 0);
117 std::shared_ptr<unity_sarray>
118 image_sarray_to_vector_sarray(std::shared_ptr<unity_sarray> image_sarray,
119 bool undefined_on_failure);
123 std::shared_ptr<unity_sarray>
124 vector_sarray_to_image_sarray(std::shared_ptr<unity_sarray> image_sarray,
125 size_t width,
size_t height,
size_t channels,
bool undefined_on_failure);