SeetaFace6 windows下编译记录

SeetaFace6 windows下编译记录

下载

git clone --recursive https://github.com/SeetaFace6Open/index.git

环境准备

我的环境如下:

  • Visual Studio 2015
    对应的版本是:C:/Program Files (x86)/Microsoft Visual Studio 14.0
    需要相应的路径:
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

  • Windows Kits 8.1
    用到 rc.exe,需要加上路径:
    C:\Program Files (x86)\Windows Kits\8.1\bin\x64

  • Qt 5.15
    要用到jom.exe,需要加上路径:
    D:\Qt\Qt5.14.2\Tools\QtCreator\bin
    D:\Qt\Qt5.14.2\5.14.2\msvc2015_64\bin

  • MinGW64
    cmake3.8.2,需要加上路径:
    C:\mingw64\bin
    C:\MinGW64\cmake-3.8.2-win64-x64\bin

编译

  • 先编译三个基础库,进入每个目录的craft下,选择需要的平台执行即可,如:
    cd index\OpenRoleZoo\craft
    build.win.vc14.x64.cmd

按照以下顺序进行:

  1. Openrolezoo
  2. SeetaAuthorize
  3. TenniS
  4. FaceBoxes
  5. FaceRecognizer6
  • 问题:
    编译 FaceBoxes 报找不到库文件,修改 build/cmake/FindTenniS.cmake
    增加 :set(TenniS_ROOT_DIR “${CMAKE_CURRENT_LIST_DIR}/…/…/TenniS”)
find_library(TenniS_LIBRARY_DEBUG
	  NAMES 
		${TenniS_NAME}${TenniS_VERSION}

后面加上“d”:

find_library(TenniS_LIBRARY_DEBUG
	  NAMES 
		${TenniS_NAME}${TenniS_VERSION}d
  • 问题:
    QualityAssessor3 库编译不成功,查看编译信息,发现是:
    index\QualityAssessor3\QualityAssessor\src\seeta\plugin\QualityOfPose.cpp
    中的170行左右的:
    int quality_roll = quality_level(roll_dist, data.roll0, data.roll1);
    int quality_yaw = quality_level(yaw_dist, data.yaw0, data.yaw1);
    报错,不认roll0和yaw0这两个成员变量,真是奇怪!经查询,是中文注释引起的!!!参见windows上Qt中遇到关于C2039:XXX不是XXX的成员的奇怪报错

在变量定义的地方:

            // 定义眼中心和嘴中心连线,为眼口线
            // using two eyes calculate angle
            // 表示人头偏离垂直向上方向的角度,通过与双眼角度垂直获取
			
            float roll0 = 1 / 6.;
            float roll1 = 1 / 3.;

            // using distance of nose top to face line
            // 表示鼻尖点,到眼口线的距离,单位:倍眼距
            
			float yaw0 = 0.2;
            float yaw1 = 0.5;

            // use scale of projection point on face line to center of eyes
            // 表示鼻尖点投影在眼口线上的点,偏离正常投影点的距离,单位:倍眼口线长度
            
			float pitch0 = 0.2;
            float pitch1 = 0.5;

            // 鼻尖点正常投影在眼口线上的点到眼中心的距离,单位:倍眼口线长度
            
			float nose_center = 0.5;

都多加一空行,编译通过!!!

  • 问题:
    在 QualityAssessor3\QualityAssessor\src\seeta\plugin 中的 QualityOfPoseEx.cpp 和 QualityOfPoseEx.h 中,
    下面这个函数的定义和实现都有问题,编译不能通过。
			SEETA_API bool check(
                   const SeetaImageData &image,
                   const SeetaRect &face,
                   const SeetaPointF *points,
                   const int32_t N,
   				float &yaw,
   				float &pitch,
   				float &roll);

注释掉这个函数,可编译通过!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值