6#include <sfe_toolkit/sfe_core.h>
7#include <sfe_toolkit/sfe_tattoo.h>
20#ifdef SOLVER_TATTOO_DETECT
21std::optional<std::string>
solver = SOLVER_TATTOO_DETECT;
23std::optional<std::string>
solver = std::nullopt;
32 auto encoded_image = utils::readFile(
image_path);
33 error =
sfeImageDecode(encoded_image.data(), encoded_image.size(), &image);
34 utils::checkError(error);
36 std::cout <<
"Image size: " << image.width <<
"x" << image.height
40 std::vector<SFEDetection> detections(10);
49 utils::checkError(error);
52 size_t detection_count = detections.size();
55 detections.data(), &detection_count);
57 utils::checkError(error);
58 detections.resize(detection_count);
60 std::cout <<
"Detected " << detection_count <<
" tattoos" << std::endl;
float detection_threshold
std::optional< std::string > solver
const auto SOLVER_PARAMETERS
void sfeSolverFree(SFESolver solver)
Free memory associated with SFESolver.
void * SFESolver
Solver provides an abstract interface over inference models and engines.
void * SFEError
Error type used to hold optional error message.
void sfeImageFree(SFEImage image)
Free memory associated with SFEImage.
SFEError sfeSolverCreate(const char *solver_file, const SFESolverParameter *solver_parameters, size_t solver_parameters_count, SFESolver *out_solver)
Create new solver from solver file.
SFEError sfeImageDecode(const unsigned char *data, size_t data_len, SFEImage *out_image)
Decode SFEImage from raw image data of various formats. Eg. PNG, JPEG ..
SFEError sfeDetect(SFESolver solver, SFEImageView image, float threshold, SFEDetection *out_detections, size_t *in_out_detection_count)
Detect objects in the source image using unified detection API.
Raw owned raster image representation, HWC|BGR order.
Solver parameter used to configure solvers.