(原)Windows下编译指纹识别的Rel_4.1.0库

时间:2024-01-05 22:18:56

网址:http://www.cnblogs.com/darkknightzh/p/4867372.html。未经允许,严禁转载。

没怎么用过linux,对于MSYS和MinGW也基本没用过,因而编译Rel_4.1.0库的时候,遇到了不少问题。特此整理能成功的步骤。

按照Rel_4.1.0/INSTALL_WINDOWS.txt的说明:

1.安装MSYS and MinGW

1)下载MSYS和MinGW-get:

- MSYS: http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/MSYS-20111123.zip/download

- MinGW-get: http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.5-beta-20120426-1/mingw-get-0.5-mingw32-beta-20120426-1-bin.zip/download

2)下载MinGW对应系统的包:

- MinGW (32-bit): http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/megasoft78/basic/mingw-w64-bin_i686-mingw_4.5.2_20110223_megasoft78.7z/download

- MinGW (64-bit): http://sourceforge.net/projects/mingw-w64/files/Multilib%20Toolchains%28Targetting%20Win32%20and%20Win64%29/megasoft78/mingw-w64-bin_x86_64-mingw_4.5.2_20110222_multilib_megasoft78.7z/download

说明:64位的MinGW能编译32位和64位的NBIS二进制文件。

3)将2)中的MinGW安装包解压到”C:\mingw64\” 或者 “C:\mingw32\”

4)将1)中的MSYS安装包解压到”C:\msys\”

5)将1)中的MinGW-get包解压到3)中的MinGW文件夹(”C:\mingw64\”或”C:\mingw32\”)

6)双击4)中文件夹里面的msys.bat,并运行如下命令:

/postinstall /pi.sh

对于提示的问题,键入‘y’,同时提供3)的路径。

7)运行如下命令,最终配置MSYS和MinGW:

mingw-get install mingw32-autotools

说明:此处需要fq。开始运行好多次,都提示失败。最终fq后能成功…哎

2. 编译Rel_4.1.0

1)如上,安装好MSYS和MinGW环境

2)运行如下命令,设置MSYS和MinGW的编译环境:

./setup.sh <TARGET INSTALLATION DIR> --MSYS [--STDLIBS] [-- | --]

说明:<TARGET INSTALLATION DIR>必须为绝对路径,且必须真实存在,否则会提示无此文件夹。例如:

./setup.sh C:/SRC/NBIS/Main --MSYS --

注:由于对linux不熟,自己这步怎么也不成功。开始提示:

gcc.exe: am_big_endian.c: No such file or directory

gcc.exe: no input files /bin/setup.sh:

line : ./am_big_endian: No such file or directory

Failed Setup - Cannot determine target machine endianness!

实际上,Rel_4.1.0文件夹里面有am_big_endian.c。即便运行

/Rel_4.1.0/setup.sh C:/msys/Rel410 --MSYS --

依旧提示上面的错误。

之后将Rel_4.1.0里面所有文件拷贝到C:/SRC/NBIS/Main文件夹内,运行下面的 (b) 和 (c) 能成功,但是步骤3)死活不成功,提示找不到文件。

后来,换了一种方式:

(a) 将Rel_4.1.0拷到”C:\msys\”文件夹下(此处不知道linux对Rel_4.1.0这种文件夹如何识别,因而改成了Rel410)

(b) 运行

cd Rel410/

(c) 运行

./setup.sh C:/msys/Rel410 --MSYS --

之后这步成功。

3)(依旧在Rel410/文件夹内)运行:

make config

之后,运行

make it

4)运行

make install

5)运行

make catalog

之后编译成功。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

在C:\msys\Rel410\mindtct\bin文件夹下会有mindtct.exe文件,可生成指纹的特征点吧(具体不太清楚这些文件都有什么用处)。将该文件拷贝到C盘根目录,打开cmd,输入mindtct.exe,会有如下提示:

(原)Windows下编译指纹识别的Rel_4.1.0库

输入mindtct.exe img1gray.jpg img1.xyz,如下:

(原)Windows下编译指纹识别的Rel_4.1.0库

可以生成一系列的文件(红框中所示):

(原)Windows下编译指纹识别的Rel_4.1.0库

注意,img1gray.jpg需要是8bit的图像,不能是24bit的,否则会提示:

(原)Windows下编译指纹识别的Rel_4.1.0库

img1gray.jpg如下图所示:

(原)Windows下编译指纹识别的Rel_4.1.0库