Img2Num C++
API Documentation
Loading...
Searching...
No Matches
img2num.h
Go to the documentation of this file.
1
8#ifndef IMG2NUM_H
9#define IMG2NUM_H
10
11#include <cstddef>
12#include <cstdint>
13#include <string>
14
16namespace img2num {
17
25 double sigma_spatial = 3.0;
28 double sigma_range = 50.0;
29 } bilateral_filter;
30
32 struct KMeansConfig {
35 int32_t k = 16;
38 int32_t max_iter = 100;
39 } kmeans;
40
43
48
52 uint8_t color_space = 0;
53};
54
56void gaussian_blur_fft(uint8_t* image, size_t width, size_t height, double sigma);
57
59void invert_image(uint8_t* ptr, int width, int height);
60
62void threshold_image(uint8_t* ptr, const int width, const int height, const int num_thresholds);
63
66 uint8_t* ptr, const int width, const int height, const int num_thresholds
67);
68
70void kmeans(
71 const uint8_t* data, uint8_t* out_data, int32_t* out_labels, const int32_t width,
72 const int32_t height, const int32_t k, const int32_t max_iter, const uint8_t color_space
73);
74
77 uint8_t* image, size_t width, size_t height, double sigma_spatial, double sigma_range,
78 uint8_t color_space
79);
80
82std::string labels_to_svg(
83 const uint8_t* data, const int32_t* labels, const int width, const int height,
84 const int min_area, const int min_thickness
85);
86
88std::string image_to_svg(
89 const uint8_t* data, const int width, const int height, const ImageToSvgConfig& config
90);
91
92} // namespace img2num
93
94#endif // IMG2NUM_H
Definition Error.h:7
void black_threshold_image(uint8_t *ptr, const int width, const int height, const int num_thresholds)
void gaussian_blur_fft(uint8_t *image, size_t width, size_t height, double sigma)
void bilateral_filter(uint8_t *image, size_t width, size_t height, double sigma_spatial, double sigma_range, uint8_t color_space)
std::string image_to_svg(const uint8_t *data, const int width, const int height, const ImageToSvgConfig &config)
std::string labels_to_svg(const uint8_t *data, const int32_t *labels, const int width, const int height, const int min_area, const int min_thickness)
void threshold_image(uint8_t *ptr, const int width, const int height, const int num_thresholds)
void invert_image(uint8_t *ptr, int width, int height)
void kmeans(const uint8_t *data, uint8_t *out_data, int32_t *out_labels, const int32_t width, const int32_t height, const int32_t k, const int32_t max_iter, const uint8_t color_space)
Configuration settings for the bilateral filter in image_to_svg.
Definition img2num.h:22
Configuration settings for K-Means in image_to_svg.
Definition img2num.h:32
Configuration options for image_to_svg.
Definition img2num.h:20
int min_cluster_area
Minimum area (in pixels) for a region to be included in the SVG.
Definition img2num.h:42