04.WSL环境下编译安装NBIS指纹分析实战指南
一、引言指纹识别作为生物识别技术的重要组成部分广泛应用于安全认证、身份识别等领域。NBISNIST Biometric Image Software作为FBI和美国国土安全部联合开发的指纹特征提取软件以其高效、准确的特点成为该领域的佼佼者。本文将详细介绍在Ubuntu环境下如何安装和使用NBIS指纹特征提取软件。二、环境准备在开始安装之前请确保您的CentOS系统已经安装了必要的开发工具和网络环境。以下是您需要准备的环境操作系统CentOS 7 或更高版本开发工具wget, unzip, cmake, make网络连接确保系统能够访问外部网络以便下载软件包和依赖项三、下载与安装下载NBIS软件包首先您需要访问NIST的官方网站https://www.nist.gov/itl/iad/image-group/products-and-services/image-group-open-source-server-nigos下载NBIS软件包。在发布页面中选择最新版本进行下载例如nbis_v5_0_0.zip。您可以使用wget命令下载软件包wgethttps://nigos.nist.gov/nist/nbis/nbis_v5_0_0.zip安装必要的工具如果系统中尚未安装wget、unzip、cmake和make等工具您可以使用yum命令进行安装sudoaptinstall-ywgetunzipcmakemake解压软件包下载完成后使用unzip命令解压软件包unzipnbis_v5_0_0.zip解压后您将得到一个包含源代码和配置文件的目录例如Rel_5.0.0。编译与安装进入解压后的目录并运行setup.sh脚本进行配置和编译。您可以指定安装目录例如/usr/local/nbiscdRel_5.0.0shsetup.sh /usr/local/nbis --without-X11makeconfigmakeitmakeinstall注意–without-X11选项表示在不支持图形界面的环境下编译和安装。编译和安装过程可能需要一些时间请耐心等待。# ./an2k/include/histogen.h# 修改的第一处# 将第78行的 HISTO *histo head: 修改为extern HISTO *histohead;# ./an2k/src/bin/histogen/chkfile.c# 修改的第二处# 在第120行加入如下代码HISTO *histoheadNULL:Ubuntu环境下编译我们要做如上两处修改否则会出现错误/usr/bin/gcc-O2-w-ansi-D_POSIX_SOURCE-D__NBISLE__-D__NBIS_OPENJP2__-D__NBIS_PNG__-fPIC-I/home/user/Rel_5.0.0/an2k/include -I/home/user/Rel_5.0.0/exports/include-c-o/home/user/Rel_5.0.0/an2k/obj/src/bin/cropcoeff/main.o main.c /usr/bin/gcc-fPIC/home/user/Rel_5.0.0/an2k/obj/src/bin/cropcoeff/autocrop.o /home/user/Rel_5.0.0/an2k/obj/src/bin/cropcoeff/main.o /home/user/Rel_5.0.0/exports/lib/libimage.a /home/user/Rel_5.0.0/exports/lib/liban2k.a /home/user/Rel_5.0.0/exports/lib/libihead.a /home/user/Rel_5.0.0/exports/lib/libwsq.a /home/user/Rel_5.0.0/exports/lib/libjpegb.a /home/user/Rel_5.0.0/exports/lib/libjpegl.a /home/user/Rel_5.0.0/exports/lib/libfet.a /home/user/Rel_5.0.0/exports/lib/libioutil.a /home/user/Rel_5.0.0/exports/lib/libutil.a-lm-o/home/user/Rel_5.0.0/an2k/bin/cropcoeff make[4]: Leaving directory/home/user/Rel_5.0.0/an2k/src/bin/cropcoeffEnd: Compiling cropcoeff binary. Start: Compiling histogen binary....make[4]: Entering directory/home/user/Rel_5.0.0/an2k/src/bin/histogen/usr/bin/gcc-O2-w-ansi-D_POSIX_SOURCE-D__NBISLE__-D__NBIS_OPENJP2__-D__NBIS_PNG__-fPIC-I/home/user/Rel_5.0.0/an2k/include -I/home/user/Rel_5.0.0/exports/include-c-o/home/user/Rel_5.0.0/an2k/obj/src/bin/histogen/histogen.o histogen.c /usr/bin/gcc-O2-w-ansi-D_POSIX_SOURCE-D__NBISLE__-D__NBIS_OPENJP2__-D__NBIS_PNG__-fPIC-I/home/user/Rel_5.0.0/an2k/include -I/home/user/Rel_5.0.0/exports/include-c-o/home/user/Rel_5.0.0/an2k/obj/src/bin/histogen/chkfile.o chkfile.c /usr/bin/gcc-fPIC/home/user/Rel_5.0.0/an2k/obj/src/bin/histogen/histogen.o /home/user/Rel_5.0.0/an2k/obj/src/bin/histogen/chkfile.o-o/home/user/Rel_5.0.0/an2k/bin/histogen /usr/bin/ld: /home/user/Rel_5.0.0/an2k/obj/src/bin/histogen/chkfile.o:(.bss0x6c8): multiple definition of histo_head; /home/user/Rel_5.0.0/an2k/obj/src/bin/histogen/histogen.o:(.bss0x218): first defined here collect2: error: ld returned 1 exit status make[4]: *** [/home/user/Rel_5.0.0/buildutil/bin.mak:68: /home/user/Rel_5.0.0/an2k/bin/histogen] Error 1 make[4]: Leaving directory /home/user/Rel_5.0.0/an2k/src/bin/histogen make[3]: *** [/home/user/Rel_5.0.0/buildutil/an2k_bins.mak:46: bins] Error 1 make[3]: Leaving directory /home/user/Rel_5.0.0/an2k/src/bin make[2]: *** [/home/user/Rel_5.0.0/buildutil/src.mak:52: bins] Error 1 make[2]: Leaving directory /home/user/Rel_5.0.0/an2k/src make[1]: *** [/home/user/Rel_5.0.0/buildutil/package.mak:211: bins] Error 1 make[1]: Leaving directory /home/user/Rel_5.0.0/an2k make: ***[Makefile:152: it]Error1四、运行与测试安装完成后您可以在/nbis/bin目录下找到可执行文件。例如mindtct是用于指纹特征提取的工具。要运行指纹特征提取您需要将指纹图像文件放置在某个目录下并使用mindtct命令进行处理。例如sudoaptinstallImageMagick-ycd/usr/local/nbis/bin# 这条命令会生成8条数据其中有一条扩展为xyt的数据会面会用到./mindtct /path/to/fingerprint/fingerprint_gray.png /path/to/fingerprint/fingerprint ./mindtct /path/to/fingerprint/fingerprint_fake_gray.png /path/to/fingerprint/fingerprint_fake#计算两次指纹特征的相似点bozorth3-p/path/to/fingerprint/fingerprint.xyt /path/to/fingerprint/fingerprint_fake.xytcd /nbis/bin./mindtct /path/to/fingerprint/image.tif请确保将/path/to/fingerprint/image.tif替换为您的指纹图像文件的实际路径。五、注意事项在安装和运行过程中如果遇到任何错误或警告信息请仔细查看并尝试根据提示解决问题。如果您的系统环境或配置与本文描述有所不同请根据实际情况进行调整。指纹特征提取的结果可能受到图像质量、算法参数等多种因素的影响请根据实际情况进行优化。六、结论通过本文的介绍您应该能够在CentOS环境下成功安装并使用NBIS指纹特征提取软件。这款软件以其强大的功能和灵活的配置选项为指纹识别技术的研究和应用提供了有力的支持。希望本文能为您的工作带来帮助和便利。