NCore.pas ( File view )

  • By adm.maniaco 2014-09-01
  • View(s):170
  • Download(s):11
  • Point(s): 2
			unit NCore;
interface

const
 CRLF = #13#10;
 
type
 TNPixelFormat = (
    npfMonochrome = $00001001,
    npfGrayscale = $00301001,
    npfRgb = $00303003,
    npfUnused = MaxInt
    );

 TNMPosition = (
    Unknown = 0,
    RightThumb = 1,
    RightIndex = 2,
    RightMiddle = 3,
    RightRing = 4,
    RightLittle = 5,
    LeftThumb = 6,
    LeftIndex = 7,
    LeftMiddle = 8,
    LeftRing = 9,
    LeftLittle = 10,
    nmpUnused = MaxInt
    );

 TNMImpressionType = (
    LiveScanPlain = 0,
    LiveScanRolled = 1,
    NonliveScanPlain = 2,
    NonliveScanRolled = 3,
    LatentImpression = 4,
    LatentTracing = 5,
    LatentPhoto = 6,
    LatentLift = 7,
    Swipe = 8,
    LiveScanContactless = 9,
    nmiUnused = MaxInt
    );

  TNMMinutiaType = (
    nmmtUnknown = 0,
    nmmtEnd = 1,
    nmvfmtBifurcation = 2,
    nmmUnused = MaxInt
    );

  TNMMinutia = record
    X: Word;
    Y: Word;
    T: TNMMinutiaType;
    Angle: Byte;
    Quality: Byte;
    Curvature: Byte;
    G: Byte;
  end;

  TNRgb = record
    Red: Byte;
	  Green: Byte;
	  Blue: Byte;
  end;

  TNMMinutiaNeighbour = record
    index: LongInt;
    RidgeCount: Byte;
  end;

  TNIndexPair = record
    Index1: LongInt;
    Index2: LongInt;
  end;

  TNfeExtractionStatus = (
    nfeesTemplateCreated = 1,
    nfeesTooFewMinutiae = 90,
	  nfeesQualityCheckFailed = 100,
	  nfeesMatchingFailed = 200,
    nfeesUnused = MaxInt
    );

  TNleExtractionStatus = (
  nleesNone = 0,
	nleesTemplateCreated = 1,
	nleesFaceNotDetected = 2,
	nleesEyesNotDetected = 3,
	nleesFaceTooCloseToImageBorder = 4,
	nleesQualityCheckGrayscaleDensityFailed = 100,
	nleesQualityCheckExposureFailed = 101,
	nleesQualityCheckSharpnessFailed = 102,
	nleesLivenessCheckFailed = 200,
  nleesUnused = MaxInt
 );
  
 TNRect = record
  X: Integer;
  Y: Integer;
  Width: Integer;
  Height: Integer;
 end;

 TNfeReturnedImage = (
    nferiNone = 0,
    nferiBinarized = 1,
    nferiSkeletonized = 2,
    nferiUnused = MaxInt
);
   
 TNfeTemplateSize = (
    nfetsLarge = 256,
    nfetsSmall = 0,
    nfetsUnused = MaxInt
 );

 TNleTemplateSize = (
    nletsSmall = 0,
	  nletsMedium = 64,
	  nletsLarge = 128,
    nletsUnused = MaxInt
 );

 TNlmSpeed = (
    nlmsLow    =   0,
	  nlmsHigh   = 256
 );

 TNPoint = record
  X: Integer;
  Y: Integer;
 end;

 TNSize = record
  Width: Integer;
  Height: Integer;
 end;

 TNleRotation = record
  Yaw: SmallInt;
  Pitch: SmallInt;
  Roll: SmallInt;
 end;

 TNleFace = record
  Rectangle: TNRect;
  Rotation: TNleRotation;
  Confidence: Double;
 end;

 TNleEyes =  record
  First: TNPoint;
  FirstConfidence: Double;
  Second: TNPoint;
  SecondConfidence: Double;
 end;

 TCameraVideoFormat = record
  FrameWidth: LongInt;
  FrameHeight: LongInt;
  FrameRate: Single;
 end;

 TNleDetectionDetails = record
  FaceAvailable: Integer;
  Face: TNleFace;
  EyesAvailable: Integer;
  Eyes: TNleEyes;
 end;

 TMatchResult = record
  FID: Integer;
  FFaceID: String;
  FSimilarity: LongInt;
 end;

 // Extend this type according to "NMMatchDetails.h" if additional information required
  // i.e. MatedMinutia
 TNMMatchDetails = record
    Score: LongInt;
    fingerDetails: Pointer;
    faceDetails: Pointer;
 end;

 TNLibraryInfo = record
  Title: array[0..127] of Char;
  Product: array[0..127] of Char;
  Company: array[0..63] of Char;
  Copyright: array[0..191] of Char;
  VersionMajor: Integer;
  VersionMinor: Integer;
  VersionBuild: Integer;
  VersionRevision: Integer;
  Activated: array[0..255] of Char;
 end;

 TArrayOfStrings = array of string;
 TArrayOfMatchResult = array of TMatchResult;
 TArrayOfPointer = array of Pointer;
 TArrayOfLongWord = array of LongWord;
 TArrayOfTCameraVideoFormat = array of TCameraVideoFormat;
 TArrayOfTNleFace = array of TNleFace;
 TArrayOfByte = array of Byte;
 TArrayOfArrayOfByte = array of TArrayOfByte;
 
 procedure NCoreGetInfo(var info: TNLibraryInfo);
 function  NErrorGetDefaultMessage(err: LongInt): String;
 procedure NFree(pBuffer: Pointer);
 procedure NObjectFree(hPointer: Pointer);
 procedure NObjectReset(hPointer: Pointer);
 procedure NObjectCopyParameters(hdstPointer: Pointer; hsrcPointer: Pointer);
 
 procedure GetParameter(handle: Pointer; parameterId: Integer; var value :Integer); overload;
 procedure GetParameter(handle: Pointer; parameterId: Integer; var value: Double); overload;
 procedure GetParameter(handle: Pointer; parameterId: Integer; var value: Byte); overload;
 procedure GetParameter(handle: Pointer; parameterId: Integer; var value: Boolean); overload;
 procedure SetParameter(handle: Pointer; parameterId: Integer; value: Integer); overload;
 procedure SetParameter(handle: Pointer; parameterId: Integer; value: Double); overload;
 procedure SetParameter(handle: Pointer; parameterId: Integer; value: Boolean); overload;
 procedure GetParameter(handle: Pointer; parameterType: SmallInt; parameterId: Integer; var value: LongWord); overload;
 procedure SetParameter(handle: Pointer; parameterType: SmallInt; parameterId: Integer; value: Double); overload;
 procedure SetParameter(handle: Pointer; parameterType: SmallInt; parameterId: Integer; value: LongWord); overload;

implementation
 uses NUtils;

const
 dllName = 'NCore.dll';

{
$ifdef ver210
}
 function  NCoreGetInfoInternal(var info: TNLibraryInfo): Integer stdcall; external dllName name 'NCoreGetInfoW';
 function  NErrorGetDefaultMessageInternal(errorCode: LongInt; msg: PChar): Integer stdcall; external dllName name 'NErrorGetDefaultMessageW';
 function  NObjectGetParameter(obj: Pointer; parameterId: LongWord; pValue: Pointer): Integer stdcall; external dllName name 'NObjectGetParameterW';
 function  NObjectGetParameterWithPart(obj: Pointer; partId: ShortInt; parameterId: LongWord; pValue: Pointer): Integer stdcall; external dllName name 'NObjectGetParameterWithPartA';
 function  NObjectSetParameter(obj: Pointer; parameterId: LongWord; pValue: Pointer): Integer stdcall; external dllName name 'NObjectSetParameterW';
 function  NObjectSetParameterWithPart(obj: Pointer; partId: SmallInt; parameterId: LongWord; pValue: Pointer): Integer stdcall; external dllName name 'NObjectSetParameterWithPartA';
{
$else
}
 function  NCoreGetInfoInternal(var info: TNLibraryInfo): Integer stdcall; external dllName name 'NCoreGetInfoA';
 function  NErrorGetDefaultMessageInternal(errorCode: LongInt; msg: PChar): Integer stdcall; external dllName name 'NErrorGetDefaultMessageA';
 function  NObjectGetParameter(obj: Pointer; parameterId: LongWord; pValue: Pointer): Integer stdcall; external dllName name 'NObjectGetParameterA';
 function  NObjectGetParameterWithPart(obj: Pointer; partId: ShortInt; parameterId: LongWord; pValue: Pointer): Integer stdcall; external dllName name 'NObjectGetParameterWithPartA';
 function  NObjectSetParameter(obj: Pointer; parameterId: LongWord; pValue: Pointer): Integer stdcall; external dllName name 'NObjectSetParameterA';
 function  NObjectSetParameterWithPart(obj: Pointer; partId: ShortInt; parameterId: LongWord; pValue: Pointer): Integer stdcall; external dllName name 'NObjectSetParameterWithPartA';
{
$endif
}

 procedure NFreeInternal(buffer: Pointer); stdcall; external dllName name 'NFree';
 procedure NObjectFreeInternal(buffer: Pointer); stdcall; external dllName name 'NObjectFree';
 function  NObjectResetInternal(obj: Pointer): Integer stdcall; external dllName name 'NObjectReset';
 function  NObjectCopyParametersInternal(hdstPointer: Pointer; hsrcPointer: Pointer): Integer stdcall; external dllName name 'NObjectCopyParameters';

 procedure GetParameter(handle: Pointer; parameterId: LongWord; pValue: Pointer); overload;
 begin
   NCheck(NObjectGetParameter(handle, parameterId, pValue));
 end;

 procedure SetParameter(handle: Pointer; parameterId: LongWord; pValue: Pointer); overload;
 begin
   NCheck(NObjectSetParameter(handle, parameterId, pValue));
 end;

 procedure GetParameter(handle: Pointer; parameterId: Integer; var value: Integer); overload;
  var tmp: Integer;
 begin
  tmp := 0;
  GetParameter(handle, parameterId, @tmp);
  value := tmp;
 end;

 procedure GetParameter(handle: Pointer; parameterId: Integer; var value: Boolean); overload;
  var tmp: Integer;
 begin
  tmp := 0;
  GetParameter(handle, parameterId, @tmp);
  if (tmp = 1) then value := true
  else value := false;
 end;

 procedure GetParameter(handle: Pointer; parameterId: Integer; var value: Double); overload;
  var tmp: Double;
 begin
  tmp := 0;
  GetParameter(handle, parameterId, @tmp);
  value := tmp;
 end;

 procedure GetParameter(handle: Pointer; parameterId: Integer; var value: Byte); overload;
  var tmp: Byte;
 begin
  tmp := 0;
  GetParameter(handle, parameterId, @tmp);
  value := tmp;
 end;

 procedure SetParameter(handle: Pointer; parameterId: Integer; value: Integer); overload;
 begin
  SetParameter(handle, parameterId, @(value));
 end;

 procedure SetParameter(handle: Pointer; parameterId: Integer; value: Boolean); overload;
  var int: Integer;
 begin
  int := 0;
  if value = true  then int := 1;
  SetParameter(handle, parameterId, @(int));
 end;

 procedure SetParameter(handle: Pointer; parameterId: Integer; value: Double); overload;
 begin
  SetParameter(handle, parameterId, @(value));
 end;

 procedure GetParameter(handle: Pointer; parameterType: SmallInt; parameterId: Integer; var value: LongWord); overload;
  var tmp: Integer;
    res: Integer;
 begin
  tmp := 0;
  res := NObjectGetParameterWithPart(handle, parameterType, parameterId, @tmp);
  NCheck(res);
  value := tmp;
 end;

 procedure SetParameter(handle: Pointer; parameterType: SmallInt; parameterId: Integer; value: Double); overload;
  var res: Integer;
 begin
  res := NObjectSetParameterWithPart(handle, parameterType, parameterId, @(value));
  NCheck(res);
 end;

 procedure SetParameter(handle: Pointer; parameterType: SmallInt; parameterId: Integer; value: LongWord); overload;
  var res: Integer;
 begin
  res := NObjectSetParameterWithP
...
...
(Not finished, please download and read the complete file)
			
...
Expand> <Close

Want complete source code? Download it here

Point(s): 2

Download
0 lines left, continue to read
Sponsored links

File list

Tips: You can preview the content of files by clicking file names^_^
Name Size Date
Aboutform.dcu7.81 kB29-05-10 03:22
AboutForm.dfm59.86 kB02-04-10 14:37
AboutForm.pas2.79 kB02-04-10 14:37
DataBase.dcu10.72 kB29-05-10 02:56
DataBase.pas7.02 kB02-04-10 14:37
NCore.dcu12.55 kB29-05-10 02:56
NCore.pas11.17 kB02-04-10 14:37
NDeviceManager.dcu24.08 kB29-05-10 02:56
NDeviceManager.pas20.58 kB26-05-10 01:21
NExtractors.dcu26.38 kB29-05-10 02:56
NExtractors.pas22.97 kB02-04-10 14:37
NImages.dcu18.89 kB29-05-10 02:56
NImages.pas16.86 kB02-04-10 14:37
NLicensing.dcu1.73 kB29-05-10 02:56
NLicensing.pas2.27 kB02-04-10 14:37
NMatchers.dcu10.16 kB29-05-10 02:56
NMatchers.pas8.69 kB02-04-10 14:37
NTemplates.dcu13.67 kB29-05-10 02:56
NTemplates.pas10.28 kB02-04-10 14:37
NUtils.dcu17.47 kB29-05-10 02:56
NUtils.pas14.14 kB02-04-10 14:37
SQLite3.dcu10.79 kB29-05-10 02:56
sqlite3.dll493.92 kB02-04-10 14:37
SQLite3.pas13.07 kB02-04-10 14:37
SQLiteTable3.dcu49.60 kB29-05-10 02:56
SQLiteTable3.pas44.43 kB02-04-10 14:37
<SQLite>0.00 B29-05-10 03:00
DataBase.pas.~1~7.02 kB02-04-10 14:37
DataBase.pas.~2~7.02 kB26-05-10 01:49
DataBase.pas.~3~7.03 kB26-05-10 01:51
NDeviceManager.pas.~1~20.57 kB02-04-10 14:37
<__history>0.00 B29-05-10 03:00
<Bibliotecas>0.00 B29-05-10 03:00
CameraForm.dcu7.54 kB29-05-10 03:22
CameraForm.dfm172.63 kB02-04-10 14:37
CameraForm.pas2.57 kB02-04-10 14:37
DataBase.dcu10.98 kB29-05-10 03:22
DataBase.pas7.02 kB02-04-10 14:37
EnrollmentForm.dcu4.85 kB29-05-10 03:22
EnrollmentForm.dfm171.08 kB02-04-10 14:37
EnrollmentForm.pas577.00 B02-04-10 14:37
FacesSamplePas.cfg473.00 B02-04-10 14:37
FacesSamplePas.dof2.57 kB02-04-10 14:37
FacesSamplePas.dpr1.00 kB02-04-10 14:37
FacesSamplePas.dproj5.96 kB29-05-10 03:20
FacesSamplePas.dproj.20074.74 kB02-04-10 14:37
FacesSamplePas.dproj.local62.00 B29-05-10 03:21
FacesSamplePas.identcache1.19 kB29-05-10 03:22
FacesSamplePas.res78.90 kB29-05-10 03:20
fPrincipal.dcu53.36 kB29-05-10 03:13
fPrincipal.dfm176.14 kB29-05-10 03:05
fPrincipal.pas47.37 kB29-05-10 03:05
MainForm.dcu53.56 kB29-05-10 03:22
MainForm.dfm176.34 kB29-05-10 02:38
MainForm.pas47.42 kB29-05-10 02:54
NCore.dcu12.56 kB29-05-10 03:15
NDeviceManager.dcu24.09 kB29-05-10 03:15
Neurotechnology.bmp19.17 kB02-04-10 14:37
Neurotechnology.ico77.80 kB02-04-10 14:37
NExtractors.dcu26.39 kB29-05-10 03:15
NImages.dcu18.90 kB29-05-10 03:15
NLicensing.dcu1.74 kB29-05-10 03:15
NMatchers.dcu10.17 kB29-05-10 03:15
NTemplates.dcu13.68 kB29-05-10 03:15
NUtils.dcu17.48 kB29-05-10 03:15
SettingsForm.dcu15.43 kB29-05-10 03:22
SettingsForm.dfm177.53 kB02-04-10 14:37
SettingsForm.pas7.09 kB02-04-10 14:37
SQLite3.dcu10.80 kB29-05-10 03:15
SQLiteTable3.dcu49.61 kB29-05-10 03:15
FacesSamplePas.dpr.~1~1.00 kB02-04-10 14:37
FacesSamplePas.dpr.~2~1.01 kB29-05-10 03:02
FacesSamplePas.dpr.~3~411.00 B29-05-10 03:02
fPrincipal.dfm.~1~176.34 kB29-05-10 02:38
fPrincipal.dfm.~2~176.35 kB29-05-10 03:02
fPrincipal.dfm.~3~176.32 kB29-05-10 03:04
fPrincipal.pas.~1~47.42 kB29-05-10 03:01
fPrincipal.pas.~2~47.59 kB29-05-10 03:02
fPrincipal.pas.~3~47.58 kB29-05-10 03:04
fPrincipal.pas.~4~47.43 kB29-05-10 03:05
MainForm.dfm.~1~176.32 kB02-04-10 14:37
MainForm.dfm.~2~176.34 kB26-05-10 01:10
MainForm.dfm.~3~176.34 kB26-05-10 01:45
MainForm.dfm.~4~176.35 kB26-05-10 23:51
MainForm.dfm.~5~176.35 kB27-05-10 01:38
MainForm.dfm.~6~176.35 kB29-05-10 01:37
MainForm.pas.~1~45.50 kB02-04-10 14:37
MainForm.pas.~2~45.50 kB26-05-10 01:26
MainForm.pas.~3~45.64 kB26-05-10 01:45
MainForm.pas.~4~47.41 kB27-05-10 00:51
MainForm.pas.~5~47.42 kB27-05-10 01:18
MainForm.pas.~6~47.42 kB29-05-10 01:40
<__history>0.00 B29-05-10 03:16
<Biometria>0.00 B0 0%
...
Sponsored links

NCore.pas (1.58 MB)

Need 2 point
Your Point(s)

Your Point isn't enough.

Get point immediately by PayPal

More(Debit card / Credit card / PayPal Credit / Online Banking)

Submit your source codes. Get more point

LOGIN

Don't have an account? Register now
Need any help?
Mail to: support@codeforge.com

切换到中文版?

CodeForge Chinese Version
CodeForge English Version

Where are you going?

^_^"Oops ...

Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!
OK

Warm tip!

CodeForge to FavoriteFavorite by Ctrl+D