facealignment-3000fps+seetaface+icplib的配置运行

用到的工具和代码:

facealignment源代码

opencv版本:2.4.10

1.解压facealignment-3000源程序压缩包到E:\fps3000,并在该目录下新建文build文件夹。

2.打开cmake(3.5.0),修改目录后直接configure,提示错误,所以添加OpenCV目录

OpenCV目录在系统环境变量中找到为:E:\myprogram\opencv\build,再删除程序build下的cmake相关文件,重新configure

成功,再generate,完成后在build下生成了sln文件,用vs2013打开该工程

3.添加seetaface具体步骤参考http://blog.csdn.net/shakevincent/article/details/52673533

先按照该步骤编译,分别debug和release两种模式下编译,编译完后有以下四点:

在fps3000中添加seetaface的include目录把.h包含进来,再把dll拷入对应debug和release下,fps3000预编译中添加“SEETA_EXPORTS”,最后添加lib文件。

注意要把model文件夹拷贝到release目录下,不然运行release下exe会中断

另外:这里需要修改model名称,即程序中的saved_file_name变量

4.添加icplib

这一项差点被虐哭了,再次泪目三秒~~~

先下载icplib,地址http://www.cvlibs.net/software/libicp/

按照下载下来的文件里面的READEME.TXT步骤编译之后生成的是exe文件,遂作以下尝试

1.直接把cpp,h文件拷贝出来,不经过cmake,尝试自己新建一个工程编译——编译不通过,卒

2.百度如何在solution里添加现有项目,喜,遂直接在VS界面solution里add-existing project,无论怎么修改总是有链接错误,卒

3.百度又百度,尝试编译成lib和dll的方式……成功了

注意事项和步骤如下:

a.解压刚下载下来的libicp后,参考seetaface的cmake文件,修改lipicp里自带的cmake文件

b.将.h文件中的类声明时加上_declspec(dllexport),否则不生成lib,只有dll,参考http://blog.csdn.net/ooyyee11/article/details/6894436

  c.编译生成lib,dll,参考seetaface的方法导入fps3000中可以使用

  d.但是matrix.h中定义的FLOAT与fps3000调用的文件有冲突,遂将matrix中FLOAT声明放入名空间ICP中,相关调用也改为ICP::FLOAT

以上

需要学习的东西:cmake文件的编写基本语法和dll,lib文件的原理和生成方法(这里花费的一天时间主要是不懂cmake的原理,所以还是很值得一看的)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值