GithubHelp home page GithubHelp logo

index's Introduction

SeetaFace6

License

[中文]

开源模块

SeetaFace6是中科视拓最新开源的商业正式版本。突破了之前社区版和企业版版本不同步发布的情况,这次开源的v6版本正式与商用版本同步。

此次开源包含了一直以来人脸识别的基本部分,如人脸检测、关键点定位、人脸识别。同时增加了活体检测、质量评估、年龄性别估计。并且响应时事,开放了口罩检测以及戴口罩的人脸识别模型。

同时此次我们开源了商用版最新的推理引擎TenniS,ResNet50的推理速度,从SeetaFace2在I7的8FPS提升到了20FPS。同时人脸识别训练集也大幅度提高,SeetaFace6人脸识别数据量增加到了上亿张图片。

为了应对不同级别的应用需求,SeetaFace6将开放三个版本模型:

模型名称 网络结构 速度(I7-6700) 速度(RK3399) 特征长度
通用人脸识别 ResNet-50 57ms 300ms 1024
带口罩人脸识别 ResNet-50 34ms 150ms 512
通用人脸识别(小) Mobile FaceNet 9ms 70ms 512

作为能力兼容升级,SeetaFace6仍然能够给众多人脸识别应用提供业务能力。

同时该套算法适用于高精度的服务器部署外,也可以终端设备上很好的适应运行。

编译

下载源码

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

编译依赖

  1. 编译工具
  2. For linux
    GNU Make 工具
    GCC 或者 Clang 编译器
  3. For windows
    MSVC 或者 MinGW.
    jom
  4. CMake
  5. 依赖架构
    CPU 支持 AVX 和 FMA [可选](x86)或 NENO(ARM)支持

编译顺序说明

OpenRoleZoo 为常用操作的集合,SeetaAuthorize 为模型解析工程,TenniS 为前向计算框架。需要重点说明的是,此次 TenniS 同时放出了 GPU 计算源码,可以编译出 GPU 版本进行使用。上述三个模块为基础模块,各个 SDK 的编译均依赖上述模块,因此需要优先编译出 OpenRoleZoo, SeetaAuthorize 和 TenniS,然后再进行其他 SDK 模块的编译。

各平台编译

linux 平台编译说明

cd ./craft
运行脚本 build.linux.x64.sh(gpu版本为 build.linux.x64_gpu.sh)

windows 平台编译说明

cd ./craft
执行脚本 build.win.vc14.all.cmd 编译各个版本的库(gpu版本为build.win.vc14.all_gpu.cmd)

Android 平台编译说明

  • 安装 ndk 编译工具(推荐版本 ndk-r16b)

  • 编译 各个模块均含有 android/jni/Android.mk 和 android/jni/Application.mk 两个编译脚本文件。

      cd 到各模块的 android/jni 目录
      执行 ndk-build -j4 编译
    

其他 arm 等交叉编译平台

当前版本并未直接对交叉编译平台进行支持, 不过可参考文章 cmake cross compile 的说明进行 CMake 配置和对应平台的编译。

下载地址

百度网盘

模型文件:
Part I: Download code: ngne, including: age_predictor.csta, face_landmarker_pts5.csta, fas_first.csta, pose_estimation.csta, eye_state.csta, face_landmarker_pts68.csta, fas_second.csta, quality_lbn.csta, face_detector.csta, face_recognizer.csta, gender_predictor.csta, face_landmarker_mask_pts5.csta, face_recognizer_mask.csta, mask_detector.csta.
Part II: Download code: t6j0,including: face_recognizer_light.csta.

Dropbox

Model files:
Part I: Download, including: age_predictor.csta, face_landmarker_pts5.csta, fas_first.csta, pose_estimation.csta, eye_state.csta, face_landmarker_pts68.csta, fas_second.csta, quality_lbn.csta, face_detector.csta, face_recognizer.csta, gender_predictor.csta, face_landmarker_mask_pts5.csta, face_recognizer_mask.csta, mask_detector.csta.
Part II: Download ,including: face_recognizer_light.csta.

使用入门

关于基本的接口使用,请参见教程: 《SeetaFace 入门教程》,github上有同步文档源码

人脸识别的完整示例Demo见 example/qt

在每个压缩包的文档中都包含了对应平台上的调用示例,请解压对应平台压缩包后分别获取。

接口文档

各模块接口参见 docs

开发者社区

欢迎开发者加入 SeetaFace 开发者社区,请先加 SeetaFace 小助手微信,经过审核后邀请入群。

QR

联系我们

SeetaFace 开源版可以免费用于商业和个人用途。如果需要更多的商业支持,请联系商务邮件 [email protected]

index's People

Contributors

aiseetakaizhouli avatar seetafaceengine avatar speaksoftlove avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

index's Issues

PointDetector.h

请问静默活体检测模块里用到的 PointDetector.h 文件怎么找不到了呢

CropFaceV2方法问题?

使用Win7 + VS2013环境,编译了SeetaFace6Open各个模块对应的x64库,但进行人脸识别是发现:方法CropFaceV2(index/FaceRecognizer6/FaceRecognizer/include/seeta/FaceRecognizer.h文件中定义的)crop出来的人脸图像块是错的。请问这是怎么会事?因为使用了VS2013编译的吗?

Accelerate.h和cblas.h两个文件都缺失

在math_cblas.cpp中有如下代码:

#if TS_PLATFORM_OS_MAC || TS_PLATFORM_OS_IOS
#include <Accelerate/Accelerate.h>
#elif TS_PLATFORM_OS_LINUX
#include <openblas/cblas.h>
#elif TS_PLATFORM_OS_WINDOWS && TS_PLATFORM_CC_MINGW
#include <OpenBLAS/cblas.h>
#else
#include <cblas.h>
#endif

需要Accelerate.h和cblas.h,但是都缺失

自己编译的库和官方下载的库性能差异

源码通过vs2022编译出来的release库tennis.dll、SeetaFaceRecognizer610.dll、SeetaFaceLandmarker600.dll、SeetaFaceDetector600.dll、SeetaAuthorize.dll和官方下载的库在性能上有差异,比如seeta::FaceDetector::detect()这个方法,自己编译的库要比官方库慢了一倍不止,请问下自己编译需要设置什么选项吗或者这个性能差异如何优化?

是否支持sse指令集的cpu

请问下,tennis源码中有SSE的支持选项,但编译SSE版本后,放在旧版cpu架构下运行,程序会报错0xc0000005。程序现在的版本是否还支持SSE?

Linux环境下编译QualityAssessor3失败,报错 无SeetaPoseEstimationConfig.cmake

cd ./craft 运行.linux64_sh文件时 cmake报错如下

CMake Error at QualityAssessor/CMakeLists.txt:73 (find_package):
By not providing "FindSeetaPoseEstimation.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"SeetaPoseEstimation", but CMake did not find one.

Could not find a package configuration file provided by
"SeetaPoseEstimation" with any of the following names:

SeetaPoseEstimationConfig.cmake
seetaposeestimation-config.cmake

Add the installation prefix of "SeetaPoseEstimation" to CMAKE_PREFIX_PATH
or set "SeetaPoseEstimation_DIR" to a directory containing one of the above
files. If "SeetaPoseEstimation" provides a separate development package or
SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred!

tennis显卡980算力不匹配

编译GPU版本tennis调用显卡GTX980运行时报显卡算力不匹配,请问下如何设置显卡算力?
具体报错内容:
Got cuda error(209) no kernel image is available for execution on the device
terminate called after throwing an instance of 'ts::api::Exception'
what(): [src/kernels/gpu/cast.cu:63]: Got cuda error(209) no kernel image is available for execution on the device
已放弃 (核心已转储)

系统编译

我想问一下 seetaface 支持麒麟系统吗

在RK3588的Android12版本上CPU设置错误

---------------------------- PROCESS STARTED (2664) for package com.zl.demo ----------------------------
2023-10-13 09:08:05.004  2661-2661  DEBUG                   crash_dump64                         A  Cmdline: com.zl.demo
2023-10-13 09:08:05.004  2661-2661  DEBUG                   crash_dump64                         A  pid: 2578, tid: 2578, name: com.zl.demo  >>> com.zl.demo <<<
2023-10-13 09:08:05.004  2661-2661  DEBUG                   crash_dump64                         A        #00 pc 00000000002f8ba8  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #01 pc 00000000002f3f44  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #02 pc 0000000000189d84  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #03 pc 00000000003bad1c  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #04 pc 00000000002f6ae0  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #05 pc 00000000003b6670  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #06 pc 00000000003d0e8c  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #07 pc 00000000003cbaac  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #08 pc 00000000003cb7ac  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #09 pc 000000000012f8fc  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libtennis.so (ts_Workbench_run+92) (BuildId: da1a6ad0d37922684ec42f3b05050863af065e51)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #10 pc 0000000000016bfc  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libSeetaFaceDetector600.so (BuildId: f2e4bbbb0d6963f7d0653803cc34a6974212fe3d)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #11 pc 000000000000b7d4  /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!libFaceDetector.so (Java_com_zl_seeta_FaceDetector_nativeDetectFaces+204) (BuildId: 8cf34300fbd951d845e883e2c5dd4f1dcee089a2)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #19 pc 0000000000000b98  [anon:dalvik-classes2.dex extracted in memory from /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!classes2.dex] (com.zl.seeta.FaceDetector.detect+0)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #25 pc 0000000000001cd8  [anon:dalvik-classes4.dex extracted in memory from /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!classes4.dex] (com.zl.demo.SeetaUtil.detectImage+68)
2023-10-13 09:08:05.005  2661-2661  DEBUG                   crash_dump64                         A        #28 pc 0000000000001618  [anon:dalvik-classes4.dex extracted in memory from /data/app/~~Y0C-D1id7GimnaRcaYsx4g==/com.zl.demo-q1MpXVwGsNQqAbwJp4jcMg==/base.apk!classes4.dex] (com.zl.demo.MainActivity$1.onClick+4)

用arm-linux-androideabi-addr2line去查找发现CPU设置错误
ts_Workbench_set_cpu_mode

SeetaFace6 ARM版(RK3399)速度与官方数据不符

描述:
编译ARM板的SeetaFace(ARM板是Linux OS,芯片是RK3399);
需要关闭(AVX,SSE,FMA)指令集,开启了NEON指令集,和TS_ON_ARM选项;在这种组合下编译出人脸特征提取模块的SO,使用自带的例子跑出来的平均耗时:大模型:1100ms左右,小模型:250ms左右;
但如果关闭TS_ON_ARM选项;大模型:600ms左右,小模型70ms左右;
从结果上看,在关闭(AVX,SSE,FMA)指令集,开启NEON指令集,关闭TS_ON_ARM选项时,测试时间结果与官方给出的时间最为接近,但在大模型上,依旧有一倍的差距(官方RK3399大模型耗时:300ms)。
问题:
请问官方的RK3399测试是使用的android OS,还是Linux OS?
在编译ARM版本时,是需要开启或者关闭什么选项,在官方RK3399的这组耗时数据下耗时,是如何编译的,是否可以分享呢?谢谢

运行就崩溃

代码如下:
#include
#include "opencv2/opencv.hpp"
#include "seeta/FaceDetector.h"

using namespace cv;
using namespace std;

SeetaImageData readImage(const char* file) {

SeetaImageData image;
cv::Mat cvimage = cv::imread(file, cv::IMREAD_COLOR);
if (!cvimage.empty())
{
    image.width = cvimage.cols;
    image.height = cvimage.rows;
    image.channels = cvimage.channels();
    image.data = cvimage.data;
}
return image;

}

seeta::FaceDetector* new_detector_fd(const char* csta_file) {
seeta::ModelSetting setting;
setting.append(csta_file);
setting.set_device(seeta::ModelSetting::CPU);
setting.set_id(0);
return new seeta::FaceDetector(setting);
}

void detect(seeta::FaceDetector* fd, const SeetaImageData& image) {
fd->set(seeta::FaceDetector::PROPERTY_MAX_IMAGE_WIDTH, 2000);
fd->set(seeta::FaceDetector::PROPERTY_MAX_IMAGE_HEIGHT, 2000);
SeetaFaceInfoArray faces = fd->detect(image);
}

int main()
{
std::string img_file = "D:/C++Projects/seetaface_demo/Debug/20211013163228.jpg";
SeetaImageData image = readImage(img_file.c_str());
seeta::FaceDetector* fd = new_detector_fd("D:/C++Projects/seetaface_demo/Debug/sf6.0/face_detector.csta");
detect(fd, image);
return 0;
}

运行环境:win10+vs2019
使用face_detector.csta模型
检测图片大小 1210x1613

编译运行后提示如下图:

image

我以为是照片尺寸太大,改小也是一样。

example等编译失败,seeta/Common/Struct.h编译error

make时在进入Struct.h后出现很多很多error

/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: At global scope:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:516:15: error: expected nested-name-specifier before ‘self’
using self = ModelBuffer;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:517:15: error: expected nested-name-specifier before ‘supper’
using supper = SeetaModelBuffer;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:526:26: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
~ModelBuffer() = default;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:534:27: error: ‘supper’ does not name a type
ModelBuffer(const supper &other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:548:27: error: ‘self’ does not name a type
ModelBuffer(const self &other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:548:9: error: ‘seeta::ModelBuffer::ModelBuffer(const int&)’ cannot be overloaded
ModelBuffer(const self &other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:534:9: error: with ‘seeta::ModelBuffer::ModelBuffer(const int&)’
ModelBuffer(const supper &other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:555:38: error: ‘supper’ does not name a type
ModelBuffer &operator=(const supper &other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:561:38: error: ‘self’ does not name a type
ModelBuffer &operator=(const self &other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:561:22: error: ‘seeta::ModelBuffer& seeta::ModelBuffer::operator=(const int&)’ cannot be overloaded
ModelBuffer &operator=(const self &other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:555:22: error: with ‘seeta::ModelBuffer& seeta::ModelBuffer::operator=(const int&)’
ModelBuffer &operator=(const supper &other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:570:26: error: expected ‘)’ before ‘&&’ token
ModelBuffer(self &&other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:571:57: error: expected unqualified-id before ‘)’ token
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:577:32: error: declaration of ‘operator=’ as non-function
ModelBuffer &operator=(self &&other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:577:30: error: expected ‘;’ at end of member declaration
ModelBuffer &operator=(self &&other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:577:37: error: expected ‘)’ before ‘&&’ token
ModelBuffer &operator=(self &&other)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer()’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:529:15: error: class ‘seeta::ModelBuffer’ does not have any field named ‘supper’
: supper({ SEETA_DEVICE_AUTO, 0, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:529:22: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
: supper({ SEETA_DEVICE_AUTO, 0, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:529:46: error: ‘nullptr’ was not declared in this scope
: supper({ SEETA_DEVICE_AUTO, 0, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const int&)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:535:15: error: class ‘seeta::ModelBuffer’ does not have any field named ‘supper’
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:535:22: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:535:30: error: request for member ‘device’ in ‘other’, which is of non-class type ‘const int’
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:535:44: error: request for member ‘id’ in ‘other’, which is of non-class type ‘const int’
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:535:48: error: ‘nullptr’ was not declared in this scope
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:537:23: error: request for member ‘buffer’ in ‘other’, which is of non-class type ‘const int’
if (other.buffer) {
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:539:30: error: request for member ‘buffer’ in ‘other’, which is of non-class type ‘const int’
while (other.buffer[i].buffer && other.buffer[i].size)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:539:56: error: request for member ‘buffer’ in ‘other’, which is of non-class type ‘const int’
while (other.buffer[i].buffer && other.buffer[i].size)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:541:36: error: ‘class std::vectorseeta::Buffer’ has no member named ‘emplace_back’
m_model_buffer.emplace_back(other.buffer[i]);
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:541:55: error: request for member ‘buffer’ in ‘other’, which is of non-class type ‘const int’
m_model_buffer.emplace_back(other.buffer[i]);
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const int&)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:549:15: error: class ‘seeta::ModelBuffer’ does not have any field named ‘supper’
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:549:22: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:549:30: error: request for member ‘device’ in ‘other’, which is of non-class type ‘const int’
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:549:44: error: request for member ‘id’ in ‘other’, which is of non-class type ‘const int’
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:549:48: error: ‘nullptr’ was not declared in this scope
: supper({ other.device, other.id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:551:42: error: request for member ‘m_model_buffer’ in ‘other’, which is of non-class type ‘const int’
this->m_model_buffer = other.m_model_buffer;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In member function ‘seeta::ModelBuffer& seeta::ModelBuffer::operator=(const int&)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:557:39: error: ‘self’ was not declared in this scope
this->operator=(self(other));
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In member function ‘seeta::ModelBuffer& seeta::ModelBuffer::operator=(const int&)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:563:34: error: request for member ‘device’ in ‘other’, which is of non-class type ‘const int’
this->device = other.device;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:564:30: error: request for member ‘id’ in ‘other’, which is of non-class type ‘const int’
this->id = other.id;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:565:42: error: request for member ‘m_model_buffer’ in ‘other’, which is of non-class type ‘const int’
this->m_model_buffer = other.m_model_buffer;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const seeta::Buffer&, SeetaDevice, int)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:588:15: error: class ‘seeta::ModelBuffer’ does not have any field named ‘supper’
: supper({ device, id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:588:22: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
: supper({ device, id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:588:36: error: ‘nullptr’ was not declared in this scope
: supper({ device, id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const seeta::Buffer&, SeetaDevice)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:593:72: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(const seeta::Buffer &buffer, SeetaDevice device) : self(buffer, device, 0) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const seeta::Buffer&, seeta::ModelBuffer::Device, int)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:595:75: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(const seeta::Buffer &buffer, Device device, int id) : self(buffer, SeetaDevice(device), id) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const seeta::Buffer&, seeta::ModelBuffer::Device)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:597:67: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(const seeta::Buffer &buffer, Device device) : self(buffer, SeetaDevice(device)) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const seeta::Buffer&)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:599:52: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(const seeta::Buffer &buffer) : self(buffer, SEETA_DEVICE_AUTO) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const std::vectorseeta::Buffer&, SeetaDevice, int)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:602:15: error: class ‘seeta::ModelBuffer’ does not have any field named ‘supper’
: supper({ device, id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:602:22: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
: supper({ device, id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:602:36: error: ‘nullptr’ was not declared in this scope
: supper({ device, id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const std::vectorseeta::Buffer&, SeetaDevice)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:607:85: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(const std::vectorseeta::Buffer &buffer, SeetaDevice device) : self(buffer, device, 0) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const std::vectorseeta::Buffer&, seeta::ModelBuffer::Device, int)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:609:88: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(const std::vectorseeta::Buffer &buffer, Device device, int id) : self(buffer, SeetaDevice(device), id) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const std::vectorseeta::Buffer&, seeta::ModelBuffer::Device)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:611:80: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(const std::vectorseeta::Buffer &buffer, Device device) : self(buffer, SeetaDevice(device)) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(const std::vectorseeta::Buffer&)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:613:65: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(const std::vectorseeta::Buffer &buffer) : self(buffer, SEETA_DEVICE_AUTO) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(SeetaDevice, int)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:616:15: error: class ‘seeta::ModelBuffer’ does not have any field named ‘supper’
: supper({ device, id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:616:22: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
: supper({ device, id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:616:36: error: ‘nullptr’ was not declared in this scope
: supper({ device, id, nullptr })
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(SeetaDevice)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:621:43: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(SeetaDevice device) : self(device, 0) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(seeta::ModelBuffer::Device, int)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:623:46: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(Device device, int id) : self(SeetaDevice(device), id) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In constructor ‘seeta::ModelBuffer::ModelBuffer(seeta::ModelBuffer::Device)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:625:38: error: class ‘seeta::ModelBuffer’ does not have any field named ‘self’
ModelBuffer(Device device) : self(SeetaDevice(device)) {}
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In member function ‘seeta::ModelBuffer::Device seeta::ModelBuffer::set_device(SeetaDevice)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:637:18: error: ‘old’ does not name a type
auto old = this->device;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:639:27: error: ‘old’ was not declared in this scope
return Device(old);
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In member function ‘int seeta::ModelBuffer::set_id(int)’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:644:24: error: ‘old’ does not name a type
const auto old = this->id;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:646:20: error: ‘old’ was not declared in this scope
return old;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h: In member function ‘void seeta::ModelBuffer::update()’:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:693:24: error: ISO C++ forbids declaration of ‘model_buffer’ with no type [-fpermissive]
for (auto &model_buffer : m_model_buffer)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:693:39: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11
for (auto &model_buffer : m_model_buffer)
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:695:54: error: no matching function for call to ‘std::vector::push_back(int&)’
this->m_buffer.push_back(model_buffer);
^
In file included from /opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/vector:64:0,
from /usr/local/include/opencv4/opencv2/core/types.hpp:53,
from /usr/local/include/opencv4/opencv2/core.hpp:58,
from /usr/local/include/opencv4/opencv2/opencv.hpp:52,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:3:
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_vector.h:913:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = SeetaBuffer; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::value_type = SeetaBuffer]
push_back(const value_type& __x)
^
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_vector.h:913:7: note: no known conversion for argument 1 from ‘int’ to ‘const value_type& {aka const SeetaBuffer&}’
In file included from /home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceDetector.h:8:0,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:7:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:697:38: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
this->m_buffer.push_back({ nullptr, 0 }); // terminate with empty buffer
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:697:40: error: ‘nullptr’ was not declared in this scope
this->m_buffer.push_back({ nullptr, 0 }); // terminate with empty buffer
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:697:52: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
this->m_buffer.push_back({ nullptr, 0 }); // terminate with empty buffer
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/Common/Struct.h:697:52: error: no matching function for call to ‘std::vector::push_back()’
In file included from /opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/vector:64:0,
from /usr/local/include/opencv4/opencv2/core/types.hpp:53,
from /usr/local/include/opencv4/opencv2/core.hpp:58,
from /usr/local/include/opencv4/opencv2/opencv.hpp:52,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:3:
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_vector.h:913:7: note: candidate: void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = SeetaBuffer; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::value_type = SeetaBuffer]
push_back(const value_type& x)
^
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_vector.h:913:7: note: no known conversion for argument 1 from ‘’ to ‘const value_type& {aka const SeetaBuffer&}’
In file included from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:7:0:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceDetector.h: At global scope:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceDetector.h:16:19: error: expected nested-name-specifier before ‘self’
using self = FaceDetector;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceDetector.h:32:51: error: ‘self’ does not name a type
SEETA_API explicit FaceDetector(const self *other);
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceDetector.h:41:50: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
FaceDetector(const FaceDetector &) = delete;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceDetector.h:43:67: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
const FaceDetector &operator=(const FaceDetector &) = delete;
^
In file included from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:8:0:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceLandmarker.h:15:19: error: expected nested-name-specifier before ‘self’
using self = FaceLandmarker;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceLandmarker.h:20:44: error: ‘self’ does not name a type
SEETA_API FaceLandmarker(const self *other);
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceLandmarker.h:53:54: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
FaceLandmarker(const FaceLandmarker &) = delete;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceLandmarker.h:54:70: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
const FaceLandmarker &operator=(const FaceLandmarker&) = delete;
^
In file included from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:9:0:
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceRecognizer.h:19:19: error: expected nested-name-specifier before ‘self’
using self = FaceRecognizer;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceRecognizer.h:28:44: error: ‘self’ does not name a type
SEETA_API FaceRecognizer(const self other);
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceRecognizer.h:70:54: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
FaceRecognizer(const FaceRecognizer &) = delete;
^
/home/data/csp/face_recognition/sf6git/index-master/build/include/seeta/FaceRecognizer.h:71:70: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
const FaceRecognizer &operator=(const FaceRecognizer&) = delete;
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp: In function ‘bool extract_feature(cv::Mat, const seeta::v6::FaceDetector&, const seeta::v6::FaceLandmarker&, const seeta::v6::FaceRecognizer&, float
)’:
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:26:8: error: ‘faces’ does not name a type
auto faces = FD.detect(simg);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:28:7: error: ‘faces’ was not declared in this scope
if (faces.size <= 0){
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:34:17: error: ‘faces’ was not declared in this scope
FL.mark(simg, faces.data[0].pos, points);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp: In function ‘int main()’:
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:66:23: error: ‘shared_ptr’ was not declared in this scope
vector<pair<string, shared_ptr > > feature_db;
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:66:39: error: template argument 2 is invalid
vector<pair<string, shared_ptr > > feature_db;
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:66:41: error: template argument 1 is invalid
vector<pair<string, shared_ptr > > feature_db;
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:66:41: error: template argument 2 is invalid
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:66:43: error: expected unqualified-id before ‘>’ token
vector<pair<string, shared_ptr > > feature_db;
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:67:14: error: expected primary-expression before ‘float’
shared_ptr feature1(new float[FR.GetExtractFeatureSize()]);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:69:34: error: ‘feature1’ was not declared in this scope
extract_feature(dkl,FD, FL, FR,feature1.get());
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:70:3: error: ‘feature_db’ was not declared in this scope
feature_db.emplace_back(pair<string, shared_ptr>("丁凯乐", feature1));
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:70:80: error: template argument 2 is invalid
feature_db.emplace_back(pair<string, shared_ptr>("丁凯乐", feature1));
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:72:14: error: expected primary-expression before ‘float’
shared_ptr feature2(new float[FR.GetExtractFeatureSize()]);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:74:35: error: ‘feature2’ was not declared in this scope
extract_feature(dmt,FD, FL, FR, feature2.get());
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:75:80: error: template argument 2 is invalid
feature_db.emplace_back(pair<string, shared_ptr>("多面体", feature2));
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:94:10: error: ‘faces’ does not name a type
auto faces = FD.detect(recogImage);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:95:30: error: ‘faces’ was not declared in this scope
cout << "faces.size:" << faces.size << endl;
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:102:12: error: ‘face’ does not name a type
auto face = faces.data[i].pos;
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:106:27: error: ‘face’ was not declared in this scope
FL.mark(recogImage, face, points.data());
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:110:7: error: ‘unique_ptr’ was not declared in this scope
unique_ptr<float[]> feature(new float[FR.GetExtractFeatureSize()]);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:110:18: error: expected primary-expression before ‘float’
unique_ptr<float[]> feature(new float[FR.GetExtractFeatureSize()]);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:111:45: error: ‘feature’ was not declared in this scope
FR.Extract(recogImage, points.data(), feature.get());
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:118:15: error: ISO C++ forbids declaration of ‘pair_name_feat’ with no type [-fpermissive]
auto& pair_name_feat = feature_db[index];
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:119:82: error: request for member ‘second’ in ‘pair_name_feat’, which is of non-class type ‘int’
float current_sim = FR.CalculateSimilarity(feature.get(), pair_name_feat.second.get());
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:126:96: error: ‘to_string’ was not declared in this scope
labels.push_back(feature_db[target_index].first+"(相似度:"+ to_string(max_sim *100).substr(0,5) +")");
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:140:20: error: ‘freetype’ is not a member of ‘cv’
static cv::Ptrcv::freetype::FreeType2 ft2;
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:140:20: error: ‘freetype’ is not a member of ‘cv’
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:140:43: error: template argument 1 is invalid
static cv::Ptrcv::freetype::FreeType2 ft2;
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:142:16: error: ‘cv::freetype’ has not been declared
ft2 = cv::freetype::createFreeType2();
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:143:9: error: base operand of ‘->’ is not a pointer
ft2->loadFontData("./simsun.ttc", 0);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:148:29: error: base operand of ‘->’ is not a pointer
if (ft2) text_size = ft2->getTextSize("人脸库(2张)", fontHeight, -1, &baseline);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:149:16: error: base operand of ‘->’ is not a pointer
if (ft2)ft2->putText(unknown, "人脸库(2张)", cv::Point(unknown.cols/2 - text_size.width/2, unknown.rows - dkl.rows/2), fontHeight, title_color, -
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:154:20: error: base operand of ‘->’ is not a pointer
text_size = ft2->getTextSize(title, fontHeight, -1, &baseline);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:155:8: error: base operand of ‘->’ is not a pointer
ft2->putText(unknown, title, cv::Point(unknown.cols / 2 - text_size.width / 2, 60), fontHeight, title_color, -1, 16, true);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:159:20: error: base operand of ‘->’ is not a pointer
text_size = ft2->getTextSize(title, fontHeight, -1, &baseline);
^
/home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:160:8: error: base operand of ‘->’ is not a pointer
ft2->putText(unknown, title, cv::Point(unknown.cols / 2 - text_size.width / 2, 60+50), fontHeight, title_color, -1, 16, true);
^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:60:0,
from /usr/local/include/opencv4/opencv2/opencv.hpp:52,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:3:
/usr/local/include/opencv4/opencv2/core/persistence.hpp: In instantiation of ‘void cv::read(const cv::FileNode&, cv::Point
<Tp>&, const cv::Point<Tp>&) [with Tp = int]’:
/usr/local/include/opencv4/opencv2/core/persistence.hpp:782:34: required from here
/usr/local/include/opencv4/opencv2/core/persistence.hpp:726:11: error: ambiguous overload for ‘operator=’ (operand types are ‘cv::Point
’ and ‘const cv::Point
’)
value = temp.size() != 2 ? default_value : Point
<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<Tp>(temp[1]));
^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:58:0,
from /usr/local/include/opencv4/opencv2/opencv.hpp:52,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:3:
/usr/local/include/opencv4/opencv2/core/types.hpp:1184:14: note: candidate: cv::Point
<Tp>& cv::Point<Tp>::operator=(const cv::Point<Tp>&) [with Tp = int]
Point
<Tp>& Point<Tp>::operator = (const Point& pt)
^
/usr/local/include/opencv4/opencv2/core/types.hpp:1191:14: note: candidate: cv::Point
<Tp>& cv::Point<Tp>::operator=(cv::Point<Tp>) [with Tp = int; cv::Point<Tp> = cv::Point]
Point
<Tp>& Point<Tp>::operator = (Point&& pt) CV_NOEXCEPT
^
In file included from /usr/local/include/opencv4/opencv2/core/cvstd.hpp:81:0,
from /usr/local/include/opencv4/opencv2/core/base.hpp:58,
from /usr/local/include/opencv4/opencv2/core.hpp:54,
from /usr/local/include/opencv4/opencv2/opencv.hpp:52,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:3:
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::flann::KDTreeIndexParams; A1 = {}]’:
/usr/local/include/opencv4/opencv2/features2d.hpp:1159:109: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::flann::KDTreeIndexParams’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::flann::KDTreeIndexParams, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::flann::SearchParams; A1 = {}]’:
/usr/local/include/opencv4/opencv2/features2d.hpp:1160:98: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::flann::SearchParams’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::flann::SearchParams, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::PlaneWarper; A1 = {float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:137:114: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::PlaneWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::PlaneWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::AffineWarper; A1 = {float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:146:115: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::AffineWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::AffineWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::CylindricalWarper; A1 = {float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:155:120: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::CylindricalWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::CylindricalWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::SphericalWarper; A1 = {float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:162:118: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::SphericalWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::SphericalWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::FisheyeWarper; A1 = {float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:168:116: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::FisheyeWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::FisheyeWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::StereographicWarper; A1 = {float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:174:122: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::StereographicWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::StereographicWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::CompressedRectilinearWarper; A1 = {float, float, float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:185:136: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::CompressedRectilinearWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::CompressedRectilinearWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::CompressedRectilinearPortraitWarper; A1 = {float, float, float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:196:144: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::CompressedRectilinearPortraitWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::CompressedRectilinearPortraitWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::PaniniWarper; A1 = {float, float, float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:207:121: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::PaniniWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::PaniniWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::PaniniPortraitWarper; A1 = {float, float, float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:218:129: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::PaniniPortraitWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::PaniniPortraitWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::MercatorWarper; A1 = {float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:224:117: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::MercatorWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::MercatorWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp: In instantiation of ‘cv::Ptr<_Tp> cv::makePtr(const A1& ...) [with _Tp = cv::detail::TransverseMercatorWarper; A1 = {float}]’:
/usr/local/include/opencv4/opencv2/stitching/warpers.hpp:230:127: required from here
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:143:10: error: return type ‘struct cv::Ptrcv::detail::TransverseMercatorWarper’ is incomplete
Ptr<_Tp> makePtr(const A1&... a1)
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:20: error: ‘value’ is not a member of ‘cv::has_custom_delete<cv::detail::TransverseMercatorWarper, void>’
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:145:18: error: ‘static_assert’ was not declared in this scope
static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter");
^
In file included from /opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/vector:69:0,
from /usr/local/include/opencv4/opencv2/core/types.hpp:53,
from /usr/local/include/opencv4/opencv2/core.hpp:58,
from /usr/local/include/opencv4/opencv2/opencv.hpp:52,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:3:
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/vector.tcc: In instantiation of ‘void std::vector<_Tp, _Alloc>::_M_insert_aux(std::vector<_Tp, _Alloc>::iterator, const _Tp&) [with Tp = cv::Rect; Alloc = std::allocator<cv::Rect >; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::normal_iterator<cv::Rect*, std::vector<cv::Rect > >; typename std::_Vector_base<_Tp, Alloc>::pointer = cv::Rect]’:
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_vector.h:925:17: required from ‘void std::vector<_Tp, Alloc>::push_back(const value_type&) [with Tp = cv::Rect; Alloc = std::allocator<cv::Rect >; std::vector<Tp, Alloc>::value_type = cv::Rect]’
/usr/local/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp:193:45: required from here
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/vector.tcc:343:16: error: ambiguous overload for ‘operator=’ (operand types are ‘cv::Rect
’ and ‘cv::Rect
’)
__position = _x_copy;
^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:58:0,
from /usr/local/include/opencv4/opencv2/opencv.hpp:52,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:3:
/usr/local/include/opencv4/opencv2/core/types.hpp:1852:13: note: candidate: cv::Rect
<Tp>& cv::Rect<Tp>::operator=(const cv::Rect<_Tp>&) [with Tp = int]
Rect
<Tp>& Rect<Tp>::operator = ( const Rect<Tp>& r )
^
/usr/local/include/opencv4/opencv2/core/types.hpp:1862:13: note: candidate: cv::Rect
<Tp>& cv::Rect<Tp>::operator=(cv::Rect<_Tp>) [with Tp = int]
Rect
<Tp>& Rect<Tp>::operator = ( Rect<_Tp>&& r ) CV_NOEXCEPT
^
/usr/local/include/opencv4/opencv2/core/types.hpp: In instantiation of ‘static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const cv::KeyPoint
; _OI = cv::KeyPoint]’:
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_algobase.h:400:44: required from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = const cv::KeyPoint*; _OI = cv::KeyPoint*]’
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_algobase.h:436:45: required from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const cv::KeyPoint*, std::vectorcv::KeyPoint >; _OI = __gnu_cxx::__normal_iterator<cv::KeyPoint*, std::vectorcv::KeyPoint >]’
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_algobase.h:469:8: required from ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const cv::KeyPoint*, std::vectorcv::KeyPoint >; _OI = __gnu_cxx::__normal_iterator<cv::KeyPoint*, std::vectorcv::KeyPoint >]’
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/vector.tcc:206:31: required from ‘std::vector<_Tp, _Alloc>& std::vector<_Tp, Alloc>::operator=(const std::vector<Tp, Alloc>&) [with Tp = cv::KeyPoint; Alloc = std::allocatorcv::KeyPoint]’
/usr/local/include/opencv4/opencv2/core/persistence.hpp:1184:13: required from here
/usr/local/include/opencv4/opencv2/core/types.hpp:711:27: error: ambiguous overload for ‘operator=’ (operand types are ‘cv::Point2f {aka cv::Point
}’ and ‘const Point2f {aka const cv::Point
}’)
class CV_EXPORTS_W_SIMPLE KeyPoint
^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:58:0,
from /usr/local/include/opencv4/opencv2/opencv.hpp:52,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:3:
/usr/local/include/opencv4/opencv2/core/types.hpp:170:13: note: candidate: cv::Point
<Tp>& cv::Point<Tp>::operator=(const cv::Point<Tp>&) [with Tp = float]
Point
& operator = (const Point
& pt);
^
/usr/local/include/opencv4/opencv2/core/types.hpp:171:13: note: candidate: cv::Point
<Tp>& cv::Point<Tp>::operator=(cv::Point<Tp>) [with Tp = float; cv::Point<Tp> = cv::Point]
Point
& operator = (Point
&& pt) CV_NOEXCEPT;
^
In file included from /opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/memory:62:0,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:1:
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_algobase.h:340:18: note: synthesized method ‘cv::KeyPoint& cv::KeyPoint::operator=(const cv::KeyPoint&)’ first required here
__result = __first;
^
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_algobase.h: In instantiation of ‘static _BI2 std::__copy_move_backward<false, false, std::random_access_iterator_tag>::__copy_move_b(_BI1, _BI1, _BI2) [with BI1 = cv::Rect
; BI2 = cv::Rect
]’:
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_algobase.h:600:58: required from ‘_BI2 std::__copy_move_backward_a(_BI1, _BI1, _BI2) [with bool _IsMove = false; BI1 = cv::Rect; BI2 = cv::Rect]’
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_algobase.h:610:5: required from ‘_BI2 std::__copy_move_backward_a2(_BI1, _BI1, _BI2) [with bool _IsMove = false; BI1 = cv::Rect; BI2 = cv::Rect]’
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_algobase.h:645:8: required from ‘_BI2 std::copy_backward(_BI1, _BI1, _BI2) [with BI1 = cv::Rect; BI2 = cv::Rect]’
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/vector.tcc:339:4: required from ‘void std::vector<_Tp, _Alloc>::_M_insert_aux(std::vector<_Tp, _Alloc>::iterator, const _Tp&) [with Tp = cv::Rect; Alloc = std::allocator<cv::Rect >; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::normal_iterator<cv::Rect*, std::vector<cv::Rect > >; typename std::_Vector_base<_Tp, Alloc>::pointer = cv::Rect*]’
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_vector.h:925:17: required from ‘void std::vector<_Tp, Alloc>::push_back(const value_type&) [with Tp = cv::Rect; Alloc = std::allocator<cv::Rect >; std::vector<Tp, Alloc>::value_type = cv::Rect]’
/usr/local/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp:193:45: required from here
/opt/rh/devtoolset-4/root/usr/include/c++/5.3.1/bits/stl_algobase.h:547:18: error: ambiguous overload for ‘operator=’ (operand types are ‘cv::Rect
’ and ‘cv::Rect
’)
*--__result = *--_last;
^
In file included from /usr/local/include/opencv4/opencv2/core.hpp:58:0,
from /usr/local/include/opencv4/opencv2/opencv.hpp:52,
from /home/data/csp/face_recognition/sf6git/index-master/test/main.cpp:3:
/usr/local/include/opencv4/opencv2/core/types.hpp:1852:13: note: candidate: cv::Rect
<Tp>& cv::Rect<Tp>::operator=(const cv::Rect<_Tp>&) [with Tp = int]
Rect
<Tp>& Rect<Tp>::operator = ( const Rect<Tp>& r )
^
/usr/local/include/opencv4/opencv2/core/types.hpp:1862:13: note: candidate: cv::Rect
<Tp>& cv::Rect<Tp>::operator=(cv::Rect<_Tp>) [with Tp = int]
Rect
<Tp>& Rect<Tp>::operator = ( Rect<_Tp>&& r ) CV_NOEXCEPT
^
make[2]: *** [CMakeFiles/testit.dir/main.o] 错误 1
make[1]: *** [CMakeFiles/testit.dir/all] 错误 2
make: *** [all] 错误 2

交叉编译 SeetaFace6Open arm64版本 ,然后在rk3399 上 运行 demo,cpu 占用率超过 200%

交叉编译 SeetaFace6Open arm64版本 ,然后在rk3399 上 运行 demo,cpu 占用率超过 200%
image

这是Tennis的编译脚本
[root@localhost craft]# more build.linux.aarch64.sh
#!/usr/bin/env bash

export BUILD_DIR=build.linux.aarch64
export BUILD_TYPE=Release
export PLATFORM_TARGET=aarch64

export PLATFORM=aarch64
export INSTALL_DIR=$(cd "$(dirname "$0")"; pwd)/../../build

HOME=$(cd dirname $0; pwd)

cd $HOME

mkdir "$BUILD_DIR"

cd "$BUILD_DIR"

cmake "$HOME/.."
-DCMAKE_BUILD_TYPE="$BUILD_TYPE"
-DCONFIGURATION="$BUILD_TYPE"
-DPLATFORM="$PLATFORM_TARGET"
-DCMAKE_INSTALL_PREFIX="$INSTALL_DIR"
-DTS_USE_OPENMP=ON
-DTS_USE_SIMD=ON
-DTS_ON_ARM=OFF
-DTS_USE_AVX=OFF
-DTS_USE_SSE=OFF
-DTS_USE_FMA=OFF
-DTS_USE_NEON=ON
-DTS_DYNAMIC_INSTRUCTION=ON
-DCMAKE_C_COMPILER="gcc"
-DCMAKE_CXX_COMPILER="g++"

make -j16

make install
[root@localhost craft]#

win10,vs2019,vc14环境下编译OpenRoleZoo报错

win10,vs2019,vc14和ubuntu20.04环境下编译OpenRoleZoo
OpenRoleZoo\include\orz\mem\pot.h找不到std::function,添加functional头后通过编译。
OpenRoleZoo\src\orz\tools\cpp_resources.cpp编译警告(warning C4267: “return”: 从“size_t”转换到“resources”,可能丢失数据),添加忽略警告后通过 add_definitions(-w)。

..

Fghdgj

使用gpu报错

已经正常编译gpu版本。仅仅使用cpu时,正常运行。
改为gpu模式后,报找不到注册好的gpu。
Compute device gpu has no memory device registered. Please call RegisterMemoryDevice firstly.

iOS Compilation

Good morning,
how to build it for iOS platform?
Thank you very much

window10下的编译问题

在 OpenRoleZoo\craft 用命令行运行 build.win.vc14.all 发生了如下报错

-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe -- broken
CMake Error at E:/Cmake/share/cmake-3.16/Modules/CMakeTestCCompiler.cmake:60 (message):
The C compiler

"C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: E:/project/index/OpenRoleZoo/craft/build.win.vc14.x64/CMakeFiles/CMakeTmp

Run Build Command(s):jom /nologo cmTC_f3006\fast && jom: parallel job execution disabled for Makefile
    E:\QT\Qt5.14.2\Tools\QtCreator\bin\jom.exe -f CMakeFiles\cmTC_f3006.dir\build.make /nologo -L CMakeFiles\cmTC_f3006.dir\build
Building C object CMakeFiles/cmTC_f3006.dir/testCCompiler.c.obj
    C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\cl.exe @C:\Users\wadek\AppData\Local\Temp\testCCompiler.c.obj.15048.15.jom
testCCompiler.c
Linking C executable cmTC_f3006.exe
    E:\Cmake\bin\cmake.exe -E vs_link_exe --intdir=CMakeFiles\cmTC_f3006.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests  -- C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\link.exe /nologo @CMakeFiles\cmTC_f3006.dir\objects1.rsp @C:\Users\wadek\AppData\Local\Temp\cmTC_f3006.exe.15048.422.jom
RC Pass 1: command "rc /fo CMakeFiles\cmTC_f3006.dir/manifest.res CMakeFiles\cmTC_f3006.dir/manifest.rc" failed (exit code 0) with the following output:
系统找不到指定的文件。jom: E:\project\index\OpenRoleZoo\craft\build.win.vc14.x64\CMakeFiles\CMakeTmp\CMakeFiles\cmTC_f3006.dir\build.make [cmTC_f3006.exe] Error 2
jom: E:\project\index\OpenRoleZoo\craft\build.win.vc14.x64\CMakeFiles\CMakeTmp\Makefile [cmTC_f3006\fast] Error 2

载入人脸检测模型时出错

你好,我在加载人脸检测模型的时候出了问题,以下是我创建detector实例的代码:
std::string file = "E:/ProjectsCpp/template/index/FaceBoxes/example/face_detector.csta";
seeta::ModelSetting setting;
setting.append(file);
setting.set_device(seeta::ModelSetting::CPU);
setting.set_id(0);
seeta::FaceDetector* new_fd = new seeta::FaceDetector(setting);

这部分的代码我是按Demo写的。
以下是报错的内容。

ERROR: [src\orz\codec\json.cpp:290]: syntax error: unrecognized symbol f
ERROR: [FaceDetector.cpp:138]: Model: / must be dict
我没有修改过里面的代码,模型文件也是从DropBox直接下载下来的。
请问这是可能是什么原因导致的呢?谢谢!

Use dropbox

baidu does not allow downloading of international users. please use a dropbox account to make the downloads available or public on github in the releases folder

QualityOfPoseEx

seeta::QualityOfPoseEx* m_poseex=nullptr;
posemodel.set_device(SEETA_DEVICE_CPU);
posemodel.set_id(0);
posemodel.append(path + "models/pose_estimation.csta");
m_poseex = new seeta::QualityOfPoseEx(posemodel);

后续 delete m_poseex 时 为什么崩溃

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.