zoukankan      html  css  js  c++  java
  • 安装CLAPACK, levmar and homest的方法

    其实我一开始只是想用homest的,结果发现homest需要levmar,而levmar需要CLAPACK

    我一开始实在linux上装的,跌跌撞撞终于编译好了最后一个库homest,结果跑demo却出错了,错误如下:

    Homography estimation using 933 image matches
    ** On entry to DGESVD, parameter number 13 had an illegal value
    ** On entry to DGESVD, parameter number 13 had an illegal value
    LAPACK error: illegal value for argument 13 of dgesdd in homest_min_Ax_normSVD()
     
    Affine homography estimation using 933 image matches
    ** On entry to DGELSS, parameter number  7 had an illegal value
    ** On entry to DGELSS, parameter number  7 had an illegal value
    LAPACK error: illegal value for argument 7 of dgelss in homest_min_AxbSVD()

     

    查到src file也没看出究竟为啥错了!一晚上都不高兴,果断给库作者写了封邮件,作者很给力,第二天就给我回了,说可能是32bit和64bit的问题。。。 而且建议我windows

    好吧,又是网上开始搜,先搜到这个网站

    http://icl.cs.utk.edu/lapack-for-windows/clapack/index.html

    首先下载 CLAPACK-EXAMPLE Visual Studio project, 我放到了E:/OPLIB/

    然后下载blas.lib, libf2c.lib, lapack.lib,把这几个库放到上面那个project的lib文件夹下

    用visual studio (我用的2010)打开这个project就能运行了!基本上说明CLAPACK已经装好!

    下来到这个网站

    http://users.ics.forth.gr/~lourakis/levmar/index.html

    下载levmar-2.6,由于我们要用nmake编译,所以修改其中的Makefile.vc

    LAPACKLIBS_PATH=E:OPLIBCLAPACK-EXAMPLECLAPACK-EXAMPLElib

    LAPACKLIBS=lapack.lib blas.lib libf2c.lib

    打开visual studio 2010的命令窗口 (run as administrator),进入到levmar/Makefile.vc 所在路径, 输入以下命令

    nmake /f Makefile.vc

    这是levmar的FAQ http://users.ics.forth.gr/~lourakis/levmar/faq.html

    当我在linux下直接编译CLAPACK时,会出现 link error for sgemm/dgemm, 请参考其中的修改方法,

    而如果跟我一样选择直接下载编译好的库,就不会出现类似错误了

    最后一步啦,从 http://users.ics.forth.gr/~lourakis/homest/ 下载homest-1.4

    同样修改 Makefile.vc

    LEVMARHDR_PATH=E:OPLIBlevmar-2.6levmar-2.6

    LEVMARLIB_PATH=E:OPLIBlevmar-2.6levmar-2.6
    LAPACKLIBS_PATH=E:OPLIBCLAPACK-EXAMPLECLAPACK-EXAMPLElib

    LIBS=levmar.lib lapack.lib blas.lib libf2c.lib

    打开visual studio 2010命令窗口, 进入到homest-1.4/Makefile.vc, 输入以下命令

    nmake /f Makefile.vc

    编译好后,我们就可以运行以下demo

    homest_demo test/matches.txt

    homest_demo -a test/matches.txt

    其实整个过程并不算复杂,但是由于版本比较混乱,网上各种答案都有,导致我试了很多次才找到能正确编译的方法~

  • 相关阅读:
    PDO的预处理操作
    关于OOP(面向对象)
    关于MySql
    任务三
    任务二
    php文件操作
    php的会话技术
    php的常量 、变量和作用域
    php的函数和超全局变量
    预发布环境和分支部署
  • 原文地址:https://www.cnblogs.com/meinvlv/p/4212375.html
Copyright © 2011-2022 走看看