zoukankan      html  css  js  c++  java
  • NBIS指纹特征提取与匹配软件使用

    1. docker 创建虚拟centos 环境

    2. docker 安装wget 工具

    3.wget下载源代码 wget http://nigos.nist.gov:8080/nist/nbis/nbis_v5_0_0.zip

    4. centos 安装unzip解压 yum install unzip -y

    5. centos 安装make cmake 等 yum install cmake -y

    6. 运行自带的配置文件sh setup.sh <FINAL INSTALLATION DIR> [--without-X11] sh setup.sh /nbis --without-X11

    7. 执行以下命令构建:

    % make config
    % make it
    % make install

    % make catalog

    在 /nbis 目录下可以看到安装的命令:

    [root@f97d15c8731a bin]# ls
    an2k2iaf  asc2bin   chgdesc  cjpeg   cmbmcs     datainfo  djpeg   djpeglsd  dwsq14    fixwts    intr2not  lintran  mkoas   mlpfeats  not2intr  optrws    rdimgwh   rgb2ycc  stackms   wrwsqcom  znormpat
    an2k2txt  bin2asc   chkan2k  cjpegb  cropcoeff  diffbyts  djpegb  dlwsqcom  eva_evt   histogen  jpegtran  meancov  mktran  nfiq      oas2pics  optrwsgw  rdjpgcom  rwpics   txt2an2k  ycc2rgb
    an2ktool  bozorth3  cjp2k    cjpegl  cwsq       djp2k     djpegl  dwsq      fing2pat  iaf2an2k  kltran    mindtct  mlp     nfseg     optosf    pcasys    rdwsqcom  sd_rfmt  wrjpgcom  znormdat

    8.上传指纹图像数据库

    打开docker cli 客户端


    执行命令:

    PS C:Program FilesDocker Toolbox> docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

    f97d15c8731a        centos:latest       "/bin/bash"         3 hours ago         Up 2 hours                              centos

    docker cp 'C:project source filedata hiding in fingerprint minutiae replicateFVC2002_db1_a.rar'  f97d15c8731a:/FVC2002_db1_a.rar

    在容器中查看:

    [root@f97d15c8731a /]# ll
    total 100440
    -rw-r--r--   1 root root    11970 Jan  7 16:59 anaconda-post.log
    lrwxrwxrwx   1 root root        7 Jan  7 16:58 bin -> usr/bin
    drwxr-xr-x   5 root root      360 Feb 27 04:59 dev
    drwxr-xr-x  61 root root     4096 Feb 27 05:06 etc

    -rwxr-xr-x   1 root root 50174028 Feb 27 04:20 FVC2002_db1_a.rar

    9.解压文件

    rar 安装使用

    Linux 系统下使用 rarlinux 解压缩 rar 压缩文件,下载页面:http://www.rarsoft.com/download.htm。

    1.1 下载系统对应的版本

    1
    $ wget http://www.rarsoft.com/rar/rarlinux-x64-5.4.0.tar.gz

    1.2 解压、安装

    1
    2
    3
    $ tar -zxvf rarlinux-x64-5.4.0.tar.gz
    $ cd rar
    $ make

    看见下面这些信息就是安装成功了:

    1
    2
    3
    4
    5
    mkdir -p /usr/local/bin
    mkdir -p /usr/local/lib
    cp rar unrar /usr/local/bin
    cp rarfiles.lst /etc
    cp default.sfx /usr/local/lib

    1.3 常用 rar 命令

    1
    2
    $ rar x centos.rar # 解压 centos.rar 到当前目录
    $ rar centos.rar ./piaoyi.org/ # 将 piaoyi.org 目录打包为 centos.rar

    1.4 常见错误原因分析

    1.4.1 如果在运行命令 rar 时, 出现下面这个问题

    1
    rar: /lib/i686/nosegneg/libc.so.6: version 'GLIBC_2.7' not found (required by rar)

    解决办法:

    1
    $ cp rar_static /usr/local/bin/rar

    1.4.2 使用 rar 的时候出现错误

    1
    bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

    因为 64 位系统中安装了 32 位程序,解决方法:

    1
    $ yum install glibc.i686

    1.4.3 重新安装 glibc.i686 以后还有如下类似错误

    1
    error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

    再继续安装包:

    1
    $ yum install libstdc++.so.6


    执行rar x  FVC2002_db1_a.rar

    [root@f97d15c8731a db1_a]# ls
    100_1.tif  13_2.tif  17_1.tif  21_2.tif  25_1.tif  2_8.tif   33_1.tif  3_6.tif   41_1.tif  4_4.tif   48_8.tif  5_2.tif   56_8.tif  60_8.tif  64_8.tif  68_7.tif  72_8.tif  76_7.tif  80_7.tif  84_7.tif  88_6.tif  92_7.tif  96_6.tif
    100_2.tif  13_3.tif  17_2.tif  21_3.tif  25_2.tif  29_1.tif  33_2.tif  37_1.tif  41_2.tif  45_1.tif  4_8.tif   53_1.tif  5_6.tif   61_1.tif  6_4.tif   68_8.tif  7_2.tif   76_8.tif  80_8.tif  84_8.tif  88_7.tif  92_8.tif  96_7.tif
    100_3.tif  13_4.tif  17_3.tif  21_4.tif  25_3.tif  29_2.tif  33_3.tif  37_2.tif  41_3.tif  45_2.tif  49_1.tif  53_2.tif  57_1.tif  61_2.tif  65_1.tif  6_8.tif   73_1.tif  7_6.tif   81_1.tif  8_4.tif   88_8.tif  9_2.tif   96_8.tif
    100_4.tif  13_5.tif  17_4.tif  21_5.tif  25_4.tif  29_3.tif  33_4.tif  37_3.tif  41_4.tif  45_3.tif  49_2.tif  53_3.tif  57_2.tif  61_3.tif  65_2.tif  69_1.tif  73_2.tif  77_1.tif  81_2.tif  85_1.tif  8_8.tif   93_1.tif  9_6.tif
    100_5.tif  13_6.tif  17_5.tif  21_6.tif  25_5.tif  29_4.tif  33_5.tif  37_4.tif  41_5.tif  45_4.tif  49_3.tif  53_4.tif  57_3.tif  61_4.tif  65_3.tif  69_2.tif  73_3.tif  77_2.tif  81_3.tif  85_2.tif  89_1.tif  93_2.tif  97_1.tif
    100_6.tif  13_7.tif  17_6.tif  21_7.tif  25_6.tif  29_5.tif  33_6.tif  37_5.tif  41_6.tif  45_5.tif  49_4.tif  53_5.tif  57_4.tif  61_5.tif  65_4.tif  69_3.tif  73_4.tif  77_3.tif  81_4.tif  85_3.tif  89_2.tif  93_3.tif  97_2.tif
    100_7.tif  13_8.tif  17_7.tif  21_8.tif  25_7.tif  29_6.tif  33_7.tif  37_6.tif  41_7.tif  45_6.tif  49_5.tif  53_6.tif  57_5.tif  61_6.tif  65_5.tif  69_4.tif  73_5.tif  77_4.tif  81_5.tif  85_4.tif  89_3.tif  93_4.tif  97_3.tif
    100_8.tif  1_3.tif   17_8.tif  2_1.tif   25_8.tif  29_7.tif  33_8.tif  37_7.tif  41_8.tif  45_7.tif  49_6.tif  53_7.tif  57_6.tif  61_7.tif  65_6.tif  69_5.tif  73_6.tif  77_5.tif  81_6.tif  85_5.tif  89_4.tif  93_5.tif  97_4.tif
    10_1.tif   14_1.tif  1_7.tif   22_1.tif  2_5.tif   29_8.tif  3_3.tif   37_8.tif  4_1.tif   45_8.tif  49_7.tif  53_8.tif  57_7.tif  61_8.tif  65_7.tif  69_6.tif  73_7.tif  77_6.tif  81_7.tif  85_6.tif  89_5.tif  93_6.tif  97_5.tif
    10_2.tif   14_2.tif  18_1.tif  22_2.tif  26_1.tif  30_1.tif  34_1.tif  3_7.tif   42_1.tif  4_5.tif   49_8.tif  5_3.tif   57_8.tif  6_1.tif   65_8.tif  69_7.tif  73_8.tif  77_7.tif  81_8.tif  85_7.tif  89_6.tif  93_7.tif  97_6.tif
    10_3.tif   14_3.tif  18_2.tif  22_3.tif  26_2.tif  30_2.tif  34_2.tif  38_1.tif  42_2.tif  46_1.tif  50_1.tif  54_1.tif  5_7.tif   62_1.tif  6_5.tif   69_8.tif  7_3.tif   77_8.tif  8_1.tif   85_8.tif  89_7.tif  93_8.tif  97_7.tif
    10_4.tif   14_4.tif  18_3.tif  22_4.tif  26_3.tif  30_3.tif  34_3.tif  38_2.tif  42_3.tif  46_2.tif  50_2.tif  54_2.tif  58_1.tif  62_2.tif  66_1.tif  70_1.tif  74_1.tif  7_7.tif   82_1.tif  8_5.tif   89_8.tif  9_3.tif   97_8.tif
    10_5.tif   14_5.tif  18_4.tif  22_5.tif  26_4.tif  30_4.tif  34_4.tif  38_3.tif  42_4.tif  46_3.tif  50_3.tif  54_3.tif  58_2.tif  62_3.tif  66_2.tif  70_2.tif  74_2.tif  78_1.tif  82_2.tif  86_1.tif  90_1.tif  94_1.tif  9_7.tif
    10_6.tif   14_6.tif  18_5.tif  22_6.tif  26_5.tif  30_5.tif  34_5.tif  38_4.tif  42_5.tif  46_4.tif  50_4.tif  54_4.tif  58_3.tif  62_4.tif  66_3.tif  70_3.tif  74_3.tif  78_2.tif  82_3.tif  86_2.tif  90_2.tif  94_2.tif  98_1.tif
    10_7.tif   14_7.tif  18_6.tif  22_7.tif  26_6.tif  30_6.tif  34_6.tif  38_5.tif  42_6.tif  46_5.tif  50_5.tif  54_5.tif  58_4.tif  62_5.tif  66_4.tif  70_4.tif  74_4.tif  78_3.tif  82_4.tif  86_3.tif  90_3.tif  94_3.tif  98_2.tif
    10_8.tif   14_8.tif  18_7.tif  22_8.tif  26_7.tif  30_7.tif  34_7.tif  38_6.tif  42_7.tif  46_6.tif  50_6.tif  54_6.tif  58_5.tif  62_6.tif  66_5.tif  70_5.tif  74_5.tif  78_4.tif  82_5.tif  86_4.tif  90_4.tif  94_4.tif  98_3.tif
    11_1.tif   1_4.tif   18_8.tif  2_2.tif   26_8.tif  30_8.tif  34_8.tif  38_7.tif  42_8.tif  46_7.tif  50_7.tif  54_7.tif  58_6.tif  62_7.tif  66_6.tif  70_6.tif  74_6.tif  78_5.tif  82_6.tif  86_5.tif  90_5.tif  94_5.tif  98_4.tif
    11_2.tif   15_1.tif  1_8.tif   23_1.tif  2_6.tif   31_1.tif  3_4.tif   38_8.tif  4_2.tif   46_8.tif  50_8.tif  54_8.tif  58_7.tif  62_8.tif  66_7.tif  70_7.tif  74_7.tif  78_6.tif  82_7.tif  86_6.tif  90_6.tif  94_6.tif  98_5.tif
    11_3.tif   15_2.tif  19_1.tif  23_2.tif  27_1.tif  31_2.tif  35_1.tif  3_8.tif   43_1.tif  4_6.tif   51_1.tif  5_4.tif   58_8.tif  6_2.tif   66_8.tif  70_8.tif  74_8.tif  78_7.tif  82_8.tif  86_7.tif  90_7.tif  94_7.tif  98_6.tif
    11_4.tif   15_3.tif  19_2.tif  23_3.tif  27_2.tif  31_3.tif  35_2.tif  39_1.tif  43_2.tif  47_1.tif  51_2.tif  55_1.tif  5_8.tif   63_1.tif  6_6.tif   71_1.tif  7_4.tif   78_8.tif  8_2.tif   86_8.tif  90_8.tif  94_8.tif  98_7.tif
    11_5.tif   15_4.tif  19_3.tif  23_4.tif  27_3.tif  31_4.tif  35_3.tif  39_2.tif  43_3.tif  47_2.tif  51_3.tif  55_2.tif  59_1.tif  63_2.tif  67_1.tif  71_2.tif  75_1.tif  7_8.tif   83_1.tif  8_6.tif   91_1.tif  9_4.tif   98_8.tif
    11_6.tif   15_5.tif  19_4.tif  23_5.tif  27_4.tif  31_5.tif  35_4.tif  39_3.tif  43_4.tif  47_3.tif  51_4.tif  55_3.tif  59_2.tif  63_3.tif  67_2.tif  71_3.tif  75_2.tif  79_1.tif  83_2.tif  87_1.tif  91_2.tif  95_1.tif  9_8.tif
    11_7.tif   15_6.tif  19_5.tif  23_6.tif  27_5.tif  31_6.tif  35_5.tif  39_4.tif  43_5.tif  47_4.tif  51_5.tif  55_4.tif  59_3.tif  63_4.tif  67_3.tif  71_4.tif  75_3.tif  79_2.tif  83_3.tif  87_2.tif  91_3.tif  95_2.tif  99_1.tif
    11_8.tif   15_7.tif  19_6.tif  23_7.tif  27_6.tif  31_7.tif  35_6.tif  39_5.tif  43_6.tif  47_5.tif  51_6.tif  55_5.tif  59_4.tif  63_5.tif  67_4.tif  71_5.tif  75_4.tif  79_3.tif  83_4.tif  87_3.tif  91_4.tif  95_3.tif  99_2.tif
    1_1.tif    15_8.tif  19_7.tif  23_8.tif  27_7.tif  31_8.tif  35_7.tif  39_6.tif  43_7.tif  47_6.tif  51_7.tif  55_6.tif  59_5.tif  63_6.tif  67_5.tif  71_6.tif  75_5.tif  79_4.tif  83_5.tif  87_4.tif  91_5.tif  95_4.tif  99_3.tif
    12_1.tif   1_5.tif   19_8.tif  2_3.tif   27_8.tif  3_1.tif   35_8.tif  39_7.tif  43_8.tif  47_7.tif  51_8.tif  55_7.tif  59_6.tif  63_7.tif  67_6.tif  71_7.tif  75_6.tif  79_5.tif  83_6.tif  87_5.tif  91_6.tif  95_5.tif  99_4.tif
    12_2.tif   16_1.tif  20_1.tif  24_1.tif  2_7.tif   32_1.tif  3_5.tif   39_8.tif  4_3.tif   47_8.tif  5_1.tif   55_8.tif  59_7.tif  63_8.tif  67_7.tif  71_8.tif  75_7.tif  79_6.tif  83_7.tif  87_6.tif  91_7.tif  95_6.tif  99_5.tif
    12_3.tif   16_2.tif  20_2.tif  24_2.tif  28_1.tif  32_2.tif  36_1.tif  40_1.tif  44_1.tif  4_7.tif   52_1.tif  5_5.tif   59_8.tif  6_3.tif   67_8.tif  7_1.tif   75_8.tif  79_7.tif  83_8.tif  87_7.tif  91_8.tif  95_7.tif  99_6.tif
    12_4.tif   16_3.tif  20_3.tif  24_3.tif  28_2.tif  32_3.tif  36_2.tif  40_2.tif  44_2.tif  48_1.tif  52_2.tif  56_1.tif  60_1.tif  64_1.tif  6_7.tif   72_1.tif  7_5.tif   79_8.tif  8_3.tif   87_8.tif  9_1.tif   95_8.tif  99_7.tif
    12_5.tif   16_4.tif  20_4.tif  24_4.tif  28_3.tif  32_4.tif  36_3.tif  40_3.tif  44_3.tif  48_2.tif  52_3.tif  56_2.tif  60_2.tif  64_2.tif  68_1.tif  72_2.tif  76_1.tif  80_1.tif  84_1.tif  8_7.tif   92_1.tif  9_5.tif   99_8.tif
    12_6.tif   16_5.tif  20_5.tif  24_5.tif  28_4.tif  32_5.tif  36_4.tif  40_4.tif  44_4.tif  48_3.tif  52_4.tif  56_3.tif  60_3.tif  64_3.tif  68_2.tif  72_3.tif  76_2.tif  80_2.tif  84_2.tif  88_1.tif  92_2.tif  96_1.tif  Thumbs.db
    12_7.tif   16_6.tif  20_6.tif  24_6.tif  28_5.tif  32_6.tif  36_5.tif  40_5.tif  44_5.tif  48_4.tif  52_5.tif  56_4.tif  60_4.tif  64_4.tif  68_3.tif  72_4.tif  76_3.tif  80_3.tif  84_3.tif  88_2.tif  92_3.tif  96_2.tif
    12_8.tif   16_7.tif  20_7.tif  24_7.tif  28_6.tif  32_7.tif  36_6.tif  40_6.tif  44_6.tif  48_5.tif  52_6.tif  56_5.tif  60_5.tif  64_5.tif  68_4.tif  72_5.tif  76_4.tif  80_4.tif  84_4.tif  88_3.tif  92_4.tif  96_3.tif
    1_2.tif    16_8.tif  20_8.tif  24_8.tif  28_7.tif  32_8.tif  36_7.tif  40_7.tif  44_7.tif  48_6.tif  52_7.tif  56_6.tif  60_6.tif  64_6.tif  68_5.tif  72_6.tif  76_5.tif  80_5.tif  84_5.tif  88_4.tif  92_5.tif  96_4.tif
    13_1.tif   1_6.tif   21_1.tif  2_4.tif   28_8.tif  3_2.tif   36_8.tif  40_8.tif  44_8.tif  48_7.tif  52_8.tif  56_7.tif  60_7.tif  64_7.tif  68_6.tif  72_7.tif  76_6.tif  80_6.tif  84_6.tif  88_5.tif  92_6.tif  96_5.tif

    10. linux下ImageMagick安装和使用
    检查系统有无安装ImageMagick
    shell> rpm -qa | grep ImageMagick
    没有就开始安装ImageMagick
    shell> rpm -Uvh ImageMagick-6.3.4-10.i386.rpm
    或者

    shell> yum install ImageMagick

    11. 获取细节点信息

    [root@f97d15c8731a nbis]# ./bin/mindtct 100_1.jpg   ./100_1_m.jpg 

    [root@f97d15c8731a nbis]# ll
    total 408
    -rw-r--r-- 1 root root  35980 Feb 27 08:01 100_1.jpg
    -rw-r--r-- 1 root root 145112 Feb 27 08:05 100_1_m.jpg.brw
    -rw-r--r-- 1 root root   6956 Feb 27 08:05 100_1_m.jpg.dm
    -rw-r--r-- 1 root root   6956 Feb 27 08:05 100_1_m.jpg.hcm
    -rw-r--r-- 1 root root   6956 Feb 27 08:05 100_1_m.jpg.lcm
    -rw-r--r-- 1 root root   6956 Feb 27 08:05 100_1_m.jpg.lfm
    -rw-r--r-- 1 root root   5995 Feb 27 08:05 100_1_m.jpg.min
    -rw-r--r-- 1 root root   6956 Feb 27 08:05 100_1_m.jpg.qm
    -rw-r--r-- 1 root root    684 Feb 27 08:05 100_1_m.jpg.xyt

    -rw-r--r-- 1 root root 145624 Feb 27 08:00 100_1.tif


    vi 100_1_m.jpg.xyt


    75 319 225 10
    83 264 67 11
    91 283 56 25
    101 243 79 57
    111 218 101 54
    112 118 349 11
    113 312 45 27
    113 136 326 26
    131 168 315 56
    143 176 135 57
    166 350 11 55
    166 127 0 52
    168 145 169 59
    170 154 349 67
    177 194 157 31
    184 148 0 66
    185 268 124 13
    189 332 349 58
    202 253 304 16
    204 248 304 18
    204 209 34 40
    208 175 202 68
    212 24 0 10
    215 62 191 36
    217 234 67 33
    225 88 191 51
    231 202 56 53
    236 323 135 58
    236 236 90 58
    236 34 11 7
    237 65 11 33
    249 277 112 52
    255 167 202 62
    262 217 101 32
    268 234 112 51
    273 106 202 26
    274 360 135 6
    274 185 22 12
    277 124 22 26
    280 140 202 11
    288 308 124 11
    293 156 11 26
    303 192 326 14
    304 165 0 35
    304 118 22 5
    309 146 0 25
    315 233 315 11

    339 259 304 10 


    格式:

    TEXT OUTPUT FILES
           <oroot>.dm
                  The  Direction  Map  represents  the direction of ridge flow within the fingerprint image.  The map contains a grid of integer directions, where each cell in the grid represents an 8x8 pixel neighborhood in the image.
                  Ridge flow angles are quantized into 16 integer bi-directional units equally spaced on a semicircle.  Starting with vertical direction 0, direction units increase clockwise and represent  incremental  jumps  of  11.25
                  degrees, stopping at direction 15 which is 11.25 degrees shy of vertical.  Using this scheme, direction 8 is horizontal.  A value of -1 in this map represents a neighborhood where no valid ridge flow was determined.


           <oroot>.hcm
                  The  High-Curvature  Map  represents  areas  in  the image having high-curvature ridge flow.  This is especially true of core and delta regions in the fingerprint image, but high-curvature is not limited to just these
                  cases.  This is a bi-level map with same dimension as the Direction Map.  Cell values of 1 represent 8x8 pixel neighborhoods in the fingerprint image that are located within a  high-curvature  region,  otherwise  cell
                  values are set to 0.


           <oroot>.lcm
                  The  Low-Contrast Map represents areas in the image having low-contrast.  The regions of low contrast most commonly represent the background in the fingerprint image.  This is a bi-level map with same dimension as the
                  Direction Map.  Cell values of 1 represent 8x8 pixel neighborhoods in the fingerprint image that are located within a low-contrast region, otherwise cell values are set to 0.


           <oroot>.lfm
                  The Low-Flow Map represents areas in the image having non-determinable ridge flow.  Ridge flow is determined using a set of discrete cosine wave forms computed for a predetermined range  of  frequencies.   These  wave
                  forms  are  applied  at 16 incremental orientations.  At times none of the wave forms at none of the orientations resonate sufficiently high within the region in the image to satisfactorily determine a dominant direc‐
                  tional frequency.  This is a bi-level map with same dimension as the Direction Map.  Cell values of 1 represent 8x8 pixel neighborhoods in the fingerprint image that are located within a region where a dominant direc‐
                  tional  frequency  could  not  be determined, otherwise cell values are set to 0.  The Direction Map also records cells with non-determinable ridge flow.  The difference is that the Low-Flow Map records all cells with
                  non-determinable ridge flow, while the Direction Map records only those that remain non-determinable after extensive interpolation and smoothing of neighboring ridge flow directions.


           <oroot>.qm
                  The Quality Map represents regions in the image having varying levels of quality.  The maps above are combined heuristically to form 5 discrete levels of quality.  This map has the same dimension as the Direction Map,
                  with each value in the map representing an 8x8 pixel neighborhood in the fingerprint image.  A cell value of 4 represents highest quality, while a cell value of 0 represent lowest possible quality.


           <oroot>.xyt
                  This  text  file reports the minutiae detection results.  This reports only the x,y coordinates, theta, and quality of the minutie points for the image.  Each line in this file contains the space delimited information
                  for one minutiae point. The <oroot>.xyt is the minutiae format used by the bozorth3 matching algorithm.


           <oroot>.min
                  This text file reports the minutiae detection results.  The majority of the results listed in this text file are also encoded and stored in a Type-9 record in the output ANSI/NIST file.  The first  non-empty  line  in
                  the  text  file lists the number of minutiae that were detected in the fingerprint image.  Following this, the attributes associated with each detected minutia are recorded, one line of text per minutia.  Each minutia
                  line has the same format.  Fields are separated by a ':', subfields are separated by a ';', and items within subfields are separated by a ','.  A minutia line may be represented as:


      MN : MX, MY : DIR : REL : TYP : FTYP : FN : NX1, NY1; RC1 : ...


                  where:


                  MN     is the integer identifier of the detected minutia.


                  MX     is the x-pixel coordinate of the detected minutia.


                  MY     is the y-pixel coordinate of the detected minutia.


                  DIR    is the direction of the detected minutia.  Minutia direction is represented similar to ridge flow direction, only minutia direction is uni-directional starting at vertical pointing up with unit 0 and increasing
                         clockwise  in increments of 11.25 degrees completing a full circle.  Using this scheme, the angle of a detected minutia is quantized into the range 0 to 31 with 8 representing horizontal to the right, 16 repre‐
                         senting vertical pointing down, and 24 representing horizontal to the left.


                  REL    is the reliability measure assigned to the detected minutia.  This measure is computed by looking up the quality level associated with the position of the minutia from the Quality Map.   The  quality  level  is
                         then  heuristically combined with simple neighborhood pixel statistics surrounding the minutia point.  The results is a floating point value in the range 0.0 to 1.0, with 0.0 representing lowest minutia quality
                         and 1.0 representing highest minutia quality.


                  TYP    is the type of the detected minutia.
                         bifurcation  = "BIF"
                         ridge ending = "RIG"


                  FTYP   is the type of feature detected.
                         appearing    = "APP"
                         disappearing = "DIS"
                         (This attribute is primarily useful for purposes internal to the minutia detection algorithm.)


                  FN     is the integer identifier of the type of feature detected.  (This attribute is primarily useful for purposes internal to the minutia detection algorithm.)


                  NX1    is the x-pixel coordinate of the first neighboring minutia.


                  NY1    is the y-pixel coordinate of the first neighboring minutia.


                  RC1    is the ridge count calculated between the detected minutia and its first neighbor.


                  ...    for each additional neighbor ridge count computed, the pixel coordinate of the neighbor and the ridge count to that neighbor are reported.


    [root@f97d15c8731a nbis]# cat bozorth3.help.txt
    BOZORTH3(1E)                                                                                             NBIS Reference Manual                                                                                             BOZORTH3(1E)






    NAME
           bozorth3 - Computes match scores between fingerprints










    SYNOPSIS
           bozorth3 [options] probe-file.xyt gallery-file.xyt ...
           bozorth3 [options] -M mates.lis
           bozorth3 [options] -P probe.lis gallery*.xyt
           bozorth3 [options] -G gallery.lis probe*.xyt


           bozorth3 [options] -p probe-file.xyt gallery*.xyt
           bozorth3 [options] -p probe-file.xyt -G gallery.lis
           bozorth3 [options] -g gallery-file.xyt probe*.xyt
           bozorth3 [options] -g gallery-file.xyt -P probe.lis




    DESCRIPTION
           The  program bozorth3 computes match scores from fingerprint minutiae files. The files are expected to be in xyt-format, a simple text file format that is produced by the minutiae detector program mindtct, which is also part
           of the NFIS distribution.


           By default, each pair of arguments on the command line is considered to be a probe file and a gallery file, in that order, that are to be matched to yield a score of similarilty. The higher the score, the  more  closely  the
           minutiae in them match. The match score for known mates is often close to the number of minutiae in the probe or gallery file, but it can be lower or higher than that number, sometimes much higher.


           There are two main mechanisms that allow running the bozorth3 matcher other than by simply specifying pairs of xyt-files on the command line.  The mechanisms are useful or necessary under several circumstances.  For example,
           with large data sets, the number of pairs of files to be matched could easily exceed the maximum size the user's shell permits on a command line, or that's permitted by exec*() system calls.  And there are cases  where  it's
           just  more  logical  to  have  input filenames stored in a file.  So one mechanism uses list files — they contain xyt-filenames, one per line, with newline characters as line-endings.  The other mechanism fixes the probe (or
           gallery) file for an entire run, so that the filename doesn't have to be specified over and over again.


           One form of the list file mechanism allows the pairs of files to be read from a single file.  The -M mates.lis option requires a single list file of filenames to be matched against each other.  The probe filenames are on the
           odd lines, and the gallery filenames are on the even lines.


           Similarly,  the  -P  probes.lis  option  specifies  that  the  probe filenames are in the file, and the gallery filenames come from the command line. The -G gallery.lis option specifies just the opposite. Both options may be
           present, in which case all filenames will be read from the two files, and there will be no xyt-files on the command line.


           The other subset of mechanisms fix a single file to be matched against a gallery (or probe) set of any size. For example, -p probe-file fixes the probe file for the entire run; it will be matched against a gallery consisting
           of all other files on the command line (or, if -G gallery.lis is specified, against a gallery read from a file).


           The -g gallery-file option specifies just the opposite. While it may seem illogical to reverse the notion of probe and gallery files by allowing a single gallery file to be compared against a probe set, it's allowed both for
           consistency and to make it easier to test how close scores are when the files are matched in reverse order.


           Fixing both the probe and gallery file is legal, but it's equivalent to having just a single pair of filenames on the command line without the -p and -g.


           The score for a probe file a matched to a gallery file b is often identical to the score for b matched to a. One one data set, the scores were the same more than 75% of the time, and only a very small number  were  different
           by more than 3.




    Minutiae file format
           Each  line  in a minutiae file contains three integers, representing the x- and y-coordinates and direction of the minutiae, and an optional fourth column of integers representing the quality of the minutiae at those coordi‐
           nates.  If the quality column isn't present in a file, all minutiae are assumed to be of the same quality.


           A finger typically has 40-80 minutiae. Any automated minutiae extractor will, of course, flag some things as minutiae that aren't. To work with highly sensitive minutiae detectors such as mindtct, the bozorth3 matcher allows
           each  xyt-file to contain as many as 1000 minutiae lines.  However, by default, only the 150 highest-quality minutiae are used to compute the match score.  That number may be changed to any number from 0 to 200.  If multiple
           minutiae have the same quality value at the cut-off point, the tie-breaking method is simple truncation of the list, sorted by quality but with an undefined sort order among its equal-quality elements.


           The optimal number of minutiae that should be used depends on the fingerprint images and the minutiae detector that processes them. Using more than is necessary typically reduces the accuracy of the matcher and increases its
           run time.


           To  compute  a  match score between two fingerprints, both sets must have at least a minimum number of minutiae.  That number is 10 by default, and can be changed to any non-zero integer.  Otherwise the computation returns a
           match score of 0.




    OPTIONS
           The command line options can be logically grouped into four classes:




    General options
           -h     Print a help screen detailing the command line options.


           -version
                  Print ANSI/NIST stardand and NBIS software version.


           -v     Enable verbose mode.


           -A verbose=<section>
                  Enable verbose mode in a section of the code; the recognized sections are: main, load, bozorth, threshold.






    Input options
           -m1    all xyt files use representation according to ANSI INCITS 378-2004. This flag must be used if it was used by the mindtct algorithm when extracting the minutiae points.


           -n max-minutiae
                  Set maximum number of minutiae to use from any file [150]; the legal range is [0,200].


           -A minminutiae=#
                  Set minimum number of minutiae required for the match score to be more than 0 [10].


           -A maxfiles=#
                  Set maximum number of files in any gallery, probe, or mates list file [10000].


           -A plines=#-#
                  Process a subset of files in the probe file.


           -A glines=#-#
                  Process a subset of files in the gallery file.


           -A dryrun
                  Test mode only. Do not compute and print any match scores, just print the filenames between which match scores would be computed.






    Thresholding options
           -T threshold
                  Set match score threshold. By default, all match scores are printed. However, when a threshold specified, only match scores meeting or exceeding that value are printed.


           -q     Quit processing the probe file when a gallery file is found for which the match score meets or exceeds the specified threshold.




    Output options
           -A nooutput
                  Compute match scores, but don't print them.


           -A outfmt=[spg]*
                  Output lines will contain (s)core, (p)robe and/or (g)allery filename. By default, only scores are output.


           -O score-dir
                  Set the directory to write score files in.


           -o score-file
                  Set the filename to store scores in.


           -e stderr-file
                  Set the filename to store all other output in.


           -b     Use the default Standard I/O buffering to print the match scores. This is equivalent to line-buffering when the output is being printed to a terminal, and to block-buffering when the output is being printed to a file.


           -l     Use line-buffering to print the match scores.  By default, output lines are stored and printed just prior to the bozorth3 exiting.






    SEE ALSO

           mindtct (1C)


    12. 转换图片为jpg格式 获取细节点

    for file in /home/db1_a/*
    do
        if test -f $file
        then
            echo "${file##*/}"
            convert $file "/home/db1_a_jpg/${file##*/}.jpg"
            /home/nbis/bin/mindtct  "/home/db1_a_jpg/${file##*/}.jpg"  "/home/db1_a_extract/${file##*/}.jpg"
        fi
    done

  • 相关阅读:
    Spring RESTful Web Services
    Uploadify自定义提示信息
    linux下查找进程及终止进程操作的相关命令
    SecureCRT+SecureFX 7.1.1.264整合版
    关于JSP的语法和常用的内置对象,EL表达式的使用方法
    Servlet的几个常用对象
    使用bootstrap写的简单页面
    bootstrap的使用方法
    EasyUi的使用方法
    Ajax与jQuery的使用方法
  • 原文地址:https://www.cnblogs.com/mrcharles/p/11879795.html
Copyright © 2011-2022 走看看