⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpreader.h

📁 software fingerprint v1.0
💻 H
字号:
/**************************************************************************
** fpreader.h 1.0.0
**
** This file contains the set of classes of high level fingerprint recognition API
**
** Copyright (C) 2002-2005 Kirill Lepski.  All rights reserved.
**
**
** This file is provided as is with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** Contact kirill.lepski@imagingtools.de for further information
**
**********************************************************************/

#if !defined (FPREADER_H_INCLUDED)
#define FPREADER_H_INCLUDED

#ifdef WIN32
	#ifdef _LIB
		#define FPREADER_EXPORT
	#else
		#ifdef _BUILD_DLL
			#define FPREADER_EXPORT _declspec(dllexport) 
		#else		
			#define FPREADER_EXPORT
		#endif
	#endif
#else
	#define FPREADER_EXPORT 
#endif

class FingerprintInternal;


struct image_window
{

	image_window()
	{
		l = b = t = r = -1;
	}

	image_window(int ll, int tt, int rr, int bb)
	{
		l = ll; b = bb; r = rr; t = tt;
	}

	int l;
	int t;
	int b;
	int r;
};



/*! \class Fingerpint fpreader.h
	\brief This class provides an interface for fingerprint encoding and matching

  A fingerprint can be directly created	from an image with the constructor 
  or can be loaded from a file. The default constructor does nothing, so you must call calculateFeatures() 
  at the given time for fingerprint encoding. For the fingeprint matching (comparing) use operator == ().
*/
class FPREADER_EXPORT Fingerprint 
{
public:

	//! creates an empty fingerprint object
	Fingerprint();

	//! creates a fingerprint object from an image
	//! \sa calculateFeatures()
	Fingerprint(unsigned char * pImg, int w, int h, const image_window & region);
	
	//! creates a fingerprint object from a template file
	Fingerprint(const char * file);

	virtual ~Fingerprint();

	//! This function calculates the fingerprint features in the image \c pImg given as a byte vector
	//! with the width \c w und the height \c h. You can specify an \c region inside of that the recognition will runs.
	//!
	bool calculateFeatures(unsigned char * pImg, int w, int h, const image_window & region);

	//! This function sets the matching threshold for fingerprint matching
	//! The default value is 0.32
	void setMatchingThreshold(double dThres);

	//! This function returns the currently matching threshold
	//! \sa setMatchingThreshold()
	double matchingThreshold() const;

	//! This function compares the current fingerprint with the fingeprint \c fp. 
	//! If the calculated matching probability  is greater then the matching threshold, the function returns a TRUE 
	//! otherwise a FALSE.
	//! \sa setMatchingThreshold() and matchingThreshold()
	bool operator == (const Fingerprint & fp) const;
	
	//! This function returns the negated result of the operator ==()
	bool operator != (const Fingerprint & fp) const;


	//! This function loads the fingerprint from a file
	bool load(const char * file);

	//! This function saves the fingerprint to a file
	bool save(const char * file) const;

	//! This function returns an fingerprint minutia with the index \c index.
	//! If the minutia is non existent, the function returns a FALSE.
	bool minutia(int index, int & x, int & y, int & phi) const;

	//! This function returns the number of minutiae in the fingerprint
	int numMinutiae() const;

	double matchScore() const;

	//! This function returns the reconstructed image
	bool reconImage(unsigned char * pImg, int w, int h);

	//! This function returns the skeleton image
	bool skelImage(unsigned char * pImg, int w, int h);

protected:

	FingerprintInternal * intern;
};


#endif // !defined (FPREADER_H_INCLUDED)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -