Commit graph

15 commits

Author SHA1 Message Date
Daniel Drake 659d8346be Compiler flags update
Dropped -Wextra as it is not that useful.
Set compiler flags to be more like the kernel's.
Set std=gnu99
Fixed some warnings.
2007-12-27 01:06:55 +00:00
Daniel Drake 69700855e2 Implement identification for imaging devices 2007-11-21 00:30:00 +00:00
Daniel Drake 887e0e6acf Add API to access minutiae 2007-11-19 00:27:27 +00:00
Daniel Drake ba24c0884a Rework some image handling; add public binarization API
I want to offer the ability for an application to view a binarized
version of a scanned print. This lead onto a few changes:

 1. Store minutiae and binarized data inside fp_img
 2. Move resize code to the capture path, it previously happened much
    later.
 3. Add fp_img_binarize() to return a new image in binarized form.
 4. Add a BINARIZED_FORM flag to prevent an image being binarized again.

In future, it would be nice to be able to binarize without detecting
minutiae, but this involves some work on the NBIS interaction.
2007-11-17 12:51:28 +00:00
Daniel Drake bfc55c4f0f Use older ImageMagick API
Debian ship an ImageMagick that is more than 2 years old. Switch to using
older APIs so that we have compatibility all-round.
2007-11-16 14:24:04 +00:00
Daniel Drake 5485f8031d Return images through enroll/verify path
Added new API functions to obtain images, even when scans are bad, perhaps
a useful way to show the user just how good/bad the scan actually was.

Drivers and examples updated accordingly.
2007-11-15 09:54:39 +00:00
Daniel Drake e3451158e9 Custom image resizing
mindtct appears to completely ignore the pixels-per-mm input parameter
(ippmm). When processing AES4000 images, the binarized image is
completely mangled and a lot of ridge information is lost.

Resizing the AES4000's small images results in a huge imaging performance
gain.

We use imagemagick for the resizing, as it's resizing code resamples the
image too (smoothing it out), which further improves performance.
2007-11-12 23:28:46 +00:00
Daniel Drake 2e6c3b940c API documentation 2007-11-04 00:21:54 +00:00
Daniel Drake 294f9ad447 Improve print_data structure and on-disk format
Drivers now have an ID number. These will be assigned by me and documented
on the wiki. 0 cannot be used.

Drivers now define a devtype for each device they initialise. This is to
cope with the situation where a driver can support varying devices where
their print data is incompatible (i.e. image scaling is totally changed).
This doesn't apply to any existing supported devices.

Print data no longer includes driver name, and includes driver ID instead.

Paths to saved print data now include driver ID and devtype, and no longer
include driver name.

APIs exposed for converting a print_data into a blob which can then
be loaded back again later. Useful for systems who don't want to use
my simple storage system (which is only aimed at a single user).

File format is now defined and will be documented on the wiki. The header
is larger as we can no longer rely on directory paths in all scenarios.

Print data compat check now checks devtype and driver ID.
2007-10-28 22:13:51 +00:00
Daniel Drake 6b8d17ef26 Add bozorth3 from NBIS; implement verify for image devices
uru4000 works splendiferously (YAY!)
aes4000 is going to need some work though :(
2007-10-28 12:03:15 +00:00
Daniel Drake 41b25f28a4 Add mindtct from NBIS; implement enroll for image devices
mindtct is mostly as-is for now, with just a couple of bits ripped out.
2007-10-27 22:48:09 +01:00
Daniel Drake 3bbb7b8b51 Internal image allocation API changes
Creating by dimensions is likely not useful now that we can infer image
size from a device in question.
2007-10-27 18:10:33 +01:00
Daniel Drake da071ff8a2 Add API for freeing images 2007-10-27 15:16:54 +01:00
Daniel Drake 9960a7ff34 Image standardization
Initially supports flipping and colour inversion
2007-10-27 14:24:57 +01:00
Daniel Drake f3a838e856 Initial implementation for image device access and capture
Also added new example: img_capture
2007-10-27 00:09:18 +01:00