📄 main.c
字号:
extern "C"
{
#include "fvs.h"
#include <stdlib.h>
}
int main(int argc, char *argv[])
{
FvsImage_t mask;
FvsImage_t image;
FvsFloatField_t direction;
FvsFloatField_t frequency;
FvsFloat_t radius = 4.0;
FvsByte_t bmfh[14];
BITMAPINFOHEADER bmih;
RGBQUAD rgbq[256];
if (argc<3 || argc>4)
{
printf("Usage: fvs input.bmp output.bmp [radius]\n");
return -1;
}
if (argc==4)
radius = atof(argv[3]);
mask = ImageCreate();
image = ImageCreate();
direction = FloatFieldCreate();
frequency = FloatFieldCreate();
if (mask!=NULL && image!=NULL && direction!=NULL && frequency!=NULL)
{
fprintf(stdout, "Opening file %s...\n", argv[1]);
if(FvsOK!= FvsImageImport(image, argv[1],bmfh,&bmih,rgbq))
return -1 ;
ImageSoftenMean(image, 3);
fprintf(stdout, "1/4 Determining the ridge direction\n");
(void)FingerprintGetDirection(image, direction, 7, 8);
fprintf(stdout, "2/4 Determining the ridge frequency\n");
(void)FingerprintGetFrequency(image, direction, frequency);
fprintf(stdout, "3/4 Creating the mask\n");
(void)FingerprintGetMask(image, direction, frequency, mask);
fprintf(stdout, "4/4 Enhancing the fingerprint image\n");
(void)ImageEnhanceGabor(image, direction, frequency, NULL, radius);
fprintf(stdout, "Saving file %s...\n", argv[2]);
(void)FvsImageExport(image, argv[2],bmfh,&bmih,rgbq);
}
fprintf(stdout, "Cleaning up and exiting...\n");
FloatFieldDestroy(frequency);
FloatFieldDestroy(direction);
ImageDestroy(image);
ImageDestroy(mask);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -