一、Linux上配置OpenCV和SeetaFace

环境:Ubuntu20.04

① 编译安装opencv前置工具

1)前置环境安装: 安装gcc 安装g++ 安装cmake-gui:sudo apt install cmake-gui

2)使用unzip解压 opencv源码包

② opencv源代码编译

进入opencv源码,创建bulid安装目录,然后进入bulid,输入 cmake-gui .. 进行编译配置:

1)cmake-gui 界面

2)设置编译平台

3)设置安装路径

4)编译构建单独共享库

build_opencv_world 是 OpenCV 构建系统中的一个选项,通常出现在使用 CMake 编译 OpenCV 时。具体来说,它用于生成一个名为 opencv_world 的库,该库将 OpenCV 的所有功能封装在一个单独的共享库中。这样,用户在使用 OpenCV 时,只需链接这个一个库,而不需要链接多个不同的 OpenCV 模块。

5)开启WITH_v4l选项

WITH_V4L 是在 OpenCV 编译过程中常见的一个选项,它用于控制是否启用对 Video4Linux (V4L) 的支持。V4L 是 Linux 操作系统上用于视频设备(如摄像头、视频采集卡等)的接口标准,OpenCV 使用这个接口来访问和捕获来自视频设备的图像流。

6)设置添加附加模块库-opencv_contrib-4.5.2

7)进行配置生成makefile,然后退出界面进行make

8)最后输入make install

9)编译安装完成

 ②SeetaFace源代码编译

解压源代码,进入源代码路径,创建临时构建目录:build,输入 cmake-gui进行编译配置:

1)设置编译平台

2) 设置安装目录

3)退出cmake配置界面,进入build目录输入make 进行编译

4)最后输入make install 进行安装

5)检测Seeta Face库是否安装成功,进入安装目录中的lib查看是否有库文件

③Qt程序pro文件配置 opencv 和 seetaface

#linux平台opencv seetaface环境
unix{
    LIBS += -L/opt/opencv/lib -lopencv_world \
    -lSeetaFaceDetector \
    -lSeetaFaceLandmarker \
    -lSeetaFaceRecognizer \
    -lSeetaFaceTracker \
    -lSeetaNet \
    -lSeetaQualityAssessor \


    INCLUDEPATH += /opt/opencv/include/opencv4
    INCLUDEPATH += /opt/opencv/include/opencv4/opencv2
    INCLUDEPATH += /opt/opencv/include
    INCLUDEPATH += /opt/opencv/include/seeta
}

二、Windows上配置OpenCV和SeetaFace

环境:安装cmake opencv seetaface

配置OpenCV

㊀cmake配置

1、路径选择

1)选择源码的路径

2)选择make之后的文件保存路径(build目录是自己创建的)

2、点击Configure配置

1)选择MinGW Makefiles进行编译

2)选择指定编译器编译 Specify native compilers

3)选择C和C++编译器:QT安装路径下的gcc和g++

4)之后点击Finish完成

⚠️注意:如果出现Error in configuration process,project files may be invalid错误

➊勾选Advanced  ➋如下图找到这个选项填写路径,该路径是QT下的mingw32-make

D:/Qt/Qt5.12.10/Tools/mingw730_64/bin/mingw32-make.exe

如果出现找不到libwinpthread-1.dll,无法继续执行代码错误

➊将D:/Qt/Qt5.12.10/Tools/mingw730_64/bin/添加到系统环境变量

➋直接去网站上下载opencv_videoio_ffmpeg.dll和opencv_videoio_ffmpeg_64.dll

5)然后点击Configure配置编译

3、完成配置信息

1)在D:\QT Face\opencv4.5.2-src\opencv-4.5.2\3rdparty\ffmpeg路径下添加

opencv_videoio_ffmpeg.dll和opencv_videoio_ffmpeg_64.dll这两个文件

2)勾选和不勾选的选项

不勾选ENABLE_PRECOMPILED_HEADERS

勾选ENABLE_CXX11

3)点击Generate生成makefile文件

㊁make和install

以管理员的身份打开cmd

输入cd /d D:\QT Face\opencv4.5.2-src\opencv-4.5.2\build进入该目录

输入如下命令:

       1)mingw32-make -j 16

       2)mingw32-make install (生成install文件夹)

㊂QT配置

打开QT的项目,在.pro文件中添加如下代码:

LIBS += D:\Qt\Qt5.12.10\5.12.10\mingw73_64\lib\libopencv_*.a

INCLUDEPATH += D:\Qt\Qt5.12.10\5.12.10\mingw73_64\include\opencv

②配置SeetaFace

㊀cmake配置

1)选择源码路径和make后生成文件的路径

2)接下来点击Configure进行配置,与opencv配置的方法一样,然后点击Finish完成

3)选择OpenCV_DIR路径和勾选选项

OpenCV_DIR 是一个 CMake 变量,用于告诉 CMake 在哪里找到 OpenCV 的配置信息(通常是 OpenCVConfig.cmake 或 opencv-config.cmake 文件),在D:/QT Face/opencv4.5.2-src/opencv-4.5.2/目录下要有一个 OpenCVConfig.cmake 文件

4)点击Generate生成makefile文件

㊁make和install

以管理员的身份打开cmd

输入cd /d D:\QT Face\SeetaFace2\SeetaFace2\build进入该目录

输入如下命令:

       1)mingw32-make -j 16

       2)mingw32-make install (生成install文件夹)

㊂QT配置

打开QT的项目,在.pro文件中添加如下代码:

LIBS += D:\Qt\Qt5.12.10\5.12.10\mingw73_64\lib\libSeetaFace*.dll.a

LIBS += D:\Qt\Qt5.12.10\5.12.10\mingw73_64\lib\libSeeta*.dll.a

INCLUDEPATH += D:\Qt\Qt5.12.10\5.12.10\mingw73_64\include\seetaface

这样你就可以在Linux和Windows操作系统上开发人脸识别项目了!

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐