LIBMATCH_C_API void* create_template_matcher(uint8_t *target_img_data, int target_img_size, uint32_t mode)Create a template matcher.
target_img_data: The data of the target image.target_img_size: The size of the target image.mode: The mode of the template matcher.
| Mode | Description |
|---|---|
| COLOR_GRAY | Use target image AS a gray image. |
| COLOR_BGR | Use target image AS a BGR image. |
| COLOR_BGRA | Use target image AS image has Aplha channel but gray |
| COLOR_BGRA_COLOR | Use target image AS image has Aplha channel |
| COLOR_BGR_MASK | Use target image AS a BGR image and set (0,0) color as mask color |
| COLOR_GRAY_MASK | Use target image AS a gray image and set (0,0) color as mask color |
Return the handle of the template matcher.
LIBMATCH_C_API void release_template_matcher(void* matcher)Destroy a template matcher.
matcher: The template matcher.
LIBMATCH_C_API void* template_matcher_compute(void* matcher, uint8_t *src_img_data, int src_img_size, float prob_threshold, float nms_threshold)Compute the template match.
matcher: The template matcher.src_img_data: The data of the source image.src_img_size: The size of the source image.prob_threshold: The probability threshold.nms_threshold: The NMS threshold.
Return the handle of the result.
LIBMATCH_C_API void release_template_matcher_result(void* result)Destroy the result of the template match.
result: The result of the template match.
LIBMATCH_C_API int template_matcher_result_size(void* result)Get the count of the result.
result: The result of the template match.
Return the count of the result.
LIBMATCH_C_API void template_matcher_result_get(void* result, size_t index, void* result_obj)Get the result object.
result: The handle of the result.index: The index you want to get.result_obj: The pointer of the objectEx(Input)
struct Rect {
int x, y, width, height;
};The rectangle.
struct objectEx {
Rect rect;
float prob;
};The objectEx.
rect: The rectangle.prob: The probability.
LIBMATCH_C_API void *orb_create_featurer(uint8_t *img_data, int img_size, void *param, int mode);Create a ORB featurer.
img_data: The data of the image.img_size: The size of the image.param: The param of the ORB(orb_param pointer), set 0 will use default param.mode: The mode of the ORB.(reserved)
Return the handle of the ORB featurer.
LIBMATCH_C_API void orb_release_featurer(void *featurer);Destroy a ORB featurer.
featurer: The ORB featurer.
LIBMATCH_C_API void *orb_create_matcher(int mode);Create a ORB matcher.
mode: The mode of the ORB matcher.(0 is flann, 1 is hamming)
Return the handle of the ORB matcher.
LIBMATCH_C_API void orb_release_matcher(void *matcher);Destroy a ORB matcher.
matcher: The ORB matcher.
LIBMATCH_C_API uint32_t orb_matcher_compute(void *matcher, void *source, void *target, float thresh, void *result);Compute the ORB match.
matcher: The ORB matcher.source: The source featurer.target: The target featurer.thresh: The threshold.(the range of flann mode is [0,1], the range of hamming mode is [0,256])result: The result of the ORB match.
Return the count of the result.
struct objectEx2 {
struct {
float x, y;
} dots[4];
float prob;
};The objectEx2.
dots: The dots.x: The x of the dot.y: The y of the dot.prob: The probability.
struct orb_param {
int nfeatures = 500;
float scaleFactor = 1.2f;
int nlevels = 8;
int edgeThreshold = 31;
int firstLevel = 0;
int WTA_K = 2;
int scoreType = 0;
int patchSize = 31;
int fastThreshold = 20;
};The orb_param.
nfeatures: The number of features you want to get.scaleFactor: The scale factor.nlevels: The number of levels.(如果目标缩放比例较大,可以增加这个值)edgeThreshold: The edge threshold.(如果目标为文本,可以减小这个值)firstLevel: The first level.WTA_K: The WTA_K.scoreType: The score type, set 1 will be faster but less accurate.patchSize: The patch size.fastThreshold: The fast threshold.
LIBMATCH_C_API void* create_ppocr(uint8_t *det_bin, int det_bin_size, char *det_param, uint8_t *rec_bin, int rec_bin_size, char *rec_param, const char *keylist, int num_thread, bool use_vulkan)Create a PP-OCR.
det_bin: The data of the det model.det_bin_size: The size of the det model.det_param: The param of the det model.rec_bin: The data of the rec model.rec_bin_size: The size of the rec model.rec_param: The param of the rec model.keylist: The keylist.num_thread: The number of thread.use_vulkan: Use vulkan or not.
Return the handle of the PP-OCR.
LIBMATCH_C_API void release_ppocr(void* ppocr)Destroy a PP-OCR.
ppocr: The PP-OCR.
LIBMATCH_C_API void* ppocr_detect(void* ppocr, uint8_t *src_img_data, int src_img_size)Detect the text.
ppocr: The PP-OCR.src_img_data: The data of the source image.src_img_size: The size of the source image.
Return the handle of the result.
LIBMATCH_C_API size_t ppocr_result_size(void* result)Get the size of the result.
result: The result of the PP-OCR.
Return the size of the result.
LIBMATCH_C_API void ppocr_get_textbox(void* result, size_t index, void* result_obj)Get the textbox.
result: The result of the PP-OCR.index: The index you want to get.result_obj: The pointer of the TextBox(Input).
LIBMATCH_C_API void release_ppocr_textbox(void* result_obj)Destroy the textbox.
result_obj: The textbox.
LIBMATCH_C_API void release_ppocr_result(void* result)Destroy the result of the PP-OCR.
result: The result of the PP-OCR.
struct Point {
int x, y;
};The point.
struct TextBox {
Point boxPoint[4];
float score;
char *text;
int size_charPositions;
int *charPositions;
};The TextBox.
boxPoint: The box point.score: The score.text: The text.size_charPositions: The size of the per-char positions.charPositions: The array of the per-char positions.
LIBMATCH_C_API void *create_ddddrec(uint8_t *rec_bin, int rec_bin_size, char *rec_param, const char *keylist, int num_thread, bool use_vulkan)Create a DDDD-REC.
rec_bin: The data of the rec model.rec_bin_size: The size of the rec model.rec_param: The param of the rec model.keylist: The keylist.num_thread: The number of thread.use_vulkan: Use vulkan or not.
Return the handle of the DDDD-REC.
LIBMATCH_C_API void release_ddddrec(void *ddddrec)Destroy a DDDD-REC.
ddddrec: The handle of the DDDD-REC.
LIBMATCH_C_API uint32_t ddddrec_detect(void *ddddrec, uint8_t *src_img_data, int src_img_size, const char *options, void *result)Detect the text.
ddddrec: The handle of the DDDD-REC.src_img_data: The data of the source image.src_img_size: The size of the source image.options: The text the image may contain. Set "" will detect all text.result: The result(pointer of RecResult) of the DDDD-REC.
Return the count of the text.
LIBMATCH_C_API void release_ddddrec_result(void *result)Destroy the result of the DDDD-REC.
result: The result of the DDDD-REC.
struct RecResult {
char *text;
int *charPositions;
float prob;
};The RecResult.
text: The text.charPositions: The array of the per-char positions.prob: The probability of all the text.
LIBMATCH_C_API void unregister_vulkan()Unregister the vulkan.
ATTENTION: You should call this function when you use the vulkan and you want to exit the program.