lib: Add accessor for minutia coordinates

Add fp_minutia_get_coords() so that debugging applications can show the
detected minutiae along with the captured image.

This will also help fix the positively ancient fprint_demo.

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907470
This commit is contained in:
Bastien Nocera 2018-10-08 16:43:28 +02:00
parent cffe49de5c
commit 1006467f33
3 changed files with 26 additions and 0 deletions

View file

@ -134,6 +134,7 @@ fp_img_save_to_file
fp_img_standardize fp_img_standardize
fp_img_binarize fp_img_binarize
fp_img_get_minutiae fp_img_get_minutiae
fp_minutia_get_coords
</SECTION> </SECTION>
<SECTION> <SECTION>

View file

@ -533,6 +533,30 @@ API_EXPORTED struct fp_minutia **fp_img_get_minutiae(struct fp_img *img,
return img->minutiae->list; return img->minutiae->list;
} }
/**
* fp_minutia_get_coords:
* @minutia: a struct #fp_minutia
* @x: the return variable for the X coordinate of the minutia
* @y: the return variable for the Y coordinate of the minutia
*
* Sets @x and @y to be the coordinates of the detected minutia, so it
* can be presented in a more verbose user interface. This is usually only
* used for debugging purposes.
*
* Returns: 0 on success, -1 on error.
*/
API_EXPORTED int fp_minutia_get_coords(struct fp_minutia *minutia, int *coord_x, int *coord_y)
{
g_return_val_if_fail (minutia != NULL, -1);
g_return_val_if_fail (coord_x != NULL, -1);
g_return_val_if_fail (coord_y != NULL, -1);
*coord_x = minutia->x;
*coord_y = minutia->y;
return 0;
}
enum fp_imgdev_enroll_state enum fp_imgdev_enroll_state
fpi_imgdev_get_action_state(struct fp_img_dev *imgdev) fpi_imgdev_get_action_state(struct fp_img_dev *imgdev)
{ {

View file

@ -296,6 +296,7 @@ int fp_img_save_to_file(struct fp_img *img, char *path);
void fp_img_standardize(struct fp_img *img); void fp_img_standardize(struct fp_img *img);
struct fp_img *fp_img_binarize(struct fp_img *img); struct fp_img *fp_img_binarize(struct fp_img *img);
struct fp_minutia **fp_img_get_minutiae(struct fp_img *img, int *nr_minutiae); struct fp_minutia **fp_img_get_minutiae(struct fp_img *img, int *nr_minutiae);
int fp_minutia_get_coords(struct fp_minutia *minutia, int *coord_x, int *coord_y);
void fp_img_free(struct fp_img *img); void fp_img_free(struct fp_img *img);
/* Polling and timing */ /* Polling and timing */