windows10上运行ELSDc算法.

zhj 2019.07.14 Make Cmkae Lapack3.8 ELSDc算法

注:如果已经有lapack编译后的文件,那么只需要安装MinGW然后将lapack bin和lib目录下的文件拷贝到MinGW中去,无需再对lapack进行编译.


windows10上运行ELSDc算法.需要:
1.make命令.
2.线性库lapack(需要cmake工具).

具体配置步骤:
1.make命令
安装MinGW(mingw-get-setup.exe)
参考blog
https://blog.csdn.net/fuyanhuangyan/article/details/78671042
https://blog.csdn.net/nicholas_liu2017/article/details/78323391
打开mingw-get-setup.exe安装程序.默认选项直到

windows10上运行ELSDc算法._第1张图片

安装选项可以全部勾选(或者只勾选mingw-base,mingw-gcc-fortran,mingw-gcc-g++).

windows10上运行ELSDc算法._第2张图片

菜单栏installation—apply changes.

在环境变量-系统变量-path中添加 XXX\MinGW\bin

最后将XXX\MinGW\binmingw32-make.exe  复制一份,并将复制文件改名为make.exe.

注:这里要保留原文件,不然后续cmake会出错.

2.lapack
(1)编译需要cmake工具
使用的是lapack-3.8.0与cmake-3.15.0

参考blog
https://www.jianshu.com/p/6fb9ec8a0b98

直接打开cmake-3.15.0-rc4-win64-x64.msi文件安装,安装过程中勾选,之后就不用自己加环境变量了.

windows10上运行ELSDc算法._第3张图片


(2)lapack编译
打开Cmake-gui(cmake的图形界面)

windows10上运行ELSDc算法._第4张图片

勾中Grouped以及Advanced两个选项

配置两个文件目录

where if the source code: 源文件所在目录(makefile所在目录)

where to build the binaries:新建一个目录,存放编译后的文件(后面称为build目录)

windows10上运行ELSDc算法._第5张图片

点击Configure,在Specify the generator for this project 下拉项选MinGW Makefiles,选项组选"Specify native compilers",点击next,选择c和fortran编译器在你机器的路径,我的是"C:/MinGW/bin/mingw32-gcc.exe","C:/MinGW/bin/mingw32-gfortan.exe"

windows10上运行ELSDc算法._第6张图片
 点击Finish,结果如下图

windows10上运行ELSDc算法._第7张图片

 

选中BUILD的 'BUILD_SHARED_LIBS' 、 CMAKE中的'CMAKE_GNUtoMS' 和在Ungrouped Entries中选中'LAPACKE'。再点一次Configure,除第一行CMAKE外红色警告都消失了。

windows10上运行ELSDc算法._第8张图片

点击Generate。出现Configuring done和Generating done 提示时,说明编译完成。

使用命令行cd进入之前设置的Build的目录,执行make命令,开始编译程序(大约20多分钟).

........................................

编译完成后,

将bulid目录下的\lib 中的所有文件 复制到 ..\MinGW\lib

windows10上运行ELSDc算法._第9张图片
将bulid目录下的\bin 中的所有文件 复制到 ..\MinGW\bin

windows10上运行ELSDc算法._第10张图片

3.ELSDc算法的使用
命令行中用cd进入elsdc算法的makefile所在目录, 使用make命令编译得到elsdc.exe文件,然后运行 elsdc target.pgm得到输出文件.
output.svg:检测结果可视化.
out_ellipse.txt:检测结果.格式为:
     (椭)圆起点终点:x1,y1,x2,y2.
     (椭)圆中点:cx,cy.
     (椭)圆长轴ax,(椭)圆短轴bx.
     (椭)圆的角度theta.
     (椭)圆起始角度angle_start,(椭)圆终止角度angle_end.

你可能感兴趣的:(图像处理)