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

📄 main.c

📁 基于ARM9TDMI的指纹识别主程序
💻 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 + -