目录
- 1 Ubantu编译opencv和seetaface库
- 1.1 Ubantu编译opencv
- 1.2 Ubuntu编译seetaface
- 1.3 安装qt
- 2 更改代码
- 2.1 直接运行报错/usr/bin/ld: cannot find -lGL: No such file or directory
- 2.2 遇到报错摄像头打不开
- 2.3 修改部分代码
- 2.4 解决中文语音输出问题
- 3 尝试交叉编译rk3588开发板(未完成)
1 Ubantu编译opencv和seetaface库
记住qt下载的这个x86的安装包,不能在开发板上安装,开发板arm架构的。
首先,吧上边用到的三个文件夹都拷贝到乌班图系统里,opencv是源文件,不是从windows里复制的
1.1 Ubantu编译opencv
先安装库
sudo apt install open-vm-tools
sudo apt install gcc
sudo apt install g++
sudo apt install cmake-gui
在opencv的目录里新建一个build文件夹用于存放我们编译的opencv,在里边打开终端cmake-gui ..
下边config选择UNIx,finish
修改安装路径,把opencv_world,v4l勾选上方便后期打包库,extra选择第三方库的人脸识别模块,点击Generate。
回到终端,输入make -j4
开始编译,编译完成后输入make install
1.2 Ubuntu编译seetaface
同样是在源代码目录下新建一个build文件夹作为编译的目录,右击打开终端cmake-gui ..
,打开cmake,config选择使用Unix。
修改安装路径为刚刚安装opencv的路径,方便后边的使用,修改open_dir为安装路径\lib\cmake\opencv4,点击生成,关闭gui,终端里输入make -j4
,编译完成后输入sudo make install
1.3 安装qt
https://www.qt.io/download-qt-installer-oss?hsCtaTracking=99d9dd4f-5681-48d2-b096-470725510d34%7C074ddad0-fdef-4e53-8aa8-5e8a876d6ab4
记住这个x86的安装包,不能在开发板上安装,开发板arm架构的。把安装包放入虚拟机,执行一下命令进行安装
sudo chmod -R 777 qt-unified-linux-x64-4.7.0-online.run
更改权限
./qt-unified-linux-x64-4.7.0-online.run
直接运行然后就是和windows一样的安装界面,选择qt版本5.15.2的全部内容,其他默认,安装
2 更改代码
首先需要更改.pro的include和lib
#window平台opencv,seetaface环境
win32{
INCLUDEPATH += E:\Environment\opencv452\include
INCLUDEPATH += E:\Environment\opencv452\include\opencv2
INCLUDEPATH += E:\Environment\SeetaFace2\include
INCLUDEPATH += E:\Environment\SeetaFace2\include\seeta
LIBS += E:\Environment\opencv452\x64\mingw\lib\libopencv*
LIBS += E:\Environment\SeetaFace2\lib\libSeeta*
}
#linux平台opencv seetaface环境
unix{
LIBS += -L/home/bft/Environment/opencv-452/lib -lopencv_world \
-lSeetaFaceDetector \
-lSeetaFaceLandmarker \
-lSeetaFaceRecognizer \
-lSeetaFaceTracker \
-lSeetaNet \
-lSeetaQualityAssessor \
INCLUDEPATH += /home/bft/Environment/opencv-452/include/opencv4
INCLUDEPATH += /home/bft/Environment/opencv-452/include/opencv4/opencv2
INCLUDEPATH += /home/bft/Environment/opencv-452/include
INCLUDEPATH += /home/bft/Environment/opencv-452/include/seeta
}
2.1 直接运行报错/usr/bin/ld: cannot find -lGL: No such file or directory
发现是ubuntu有个库没装,运行这两句代码
sudo apt-get update sudo apt-get install libglu1-mesa-dev freeglut3-dev
2.2 遇到报错摄像头打不开
发现我的摄像头还没有连接到虚拟机,打开终端cd /dev
在输入ls查看设备,我是usb摄像头拔插来查看,可以看到插入时多了video0和video1那这就是我的摄像头
摄像头打开也有问题,所以程序会崩溃,需要打开虚拟机设置,设置为usb3.1,测试摄像头显示就正常了
2.3 修改部分代码
客户端修改导入级联分类器路径
cascade.load("./haarcascade_frontalface_alt2.xml");
查询windowsip,填入,启动客户端和服务器
成功连接,但是中文语音输出有问题
2.4 解决中文语音输出问题
按照网上的方法尝试暂未解决
3 尝试交叉编译rk3588开发板(未完成)
纯真丁一郎博客点击访问:有时间就要学习 |
---|