用qt和seetaface制作人脸识别程序的准备工作备忘

这篇博文是用来备忘的,没有参考价值,请不要浪费时间

使用的操作系统是ubuntu16.04

1,编译seetaface,得到libseeta_facedet_lib.so,libseeta_fa_lib.so,和libviplnet.so三个连接文件,以及include文件夹里面所有.h头文件备用。

2,安装opencv

sudo apt-get install libopencv-dev

3,安装sox,用来播放音频文件

sudo apt-get install sox

4,安装qt,就使用以下命令就好,不要尝试其他方法。如果此方法不行,那么重装操作系统,再次使用以下命令。

sudo apt-get install qt5-default qtcreator

5,代码在
http://download.csdn.net/download/qq_32231743/10051679

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个很有趣的问题。使用 OpenCV 和 Qt 编写人脸识别程序需要以下步骤: 1. 使用 OpenCV 的人脸检测算法检测图像的人脸。 2. 使用 OpenCV 人脸识别算法对检测到的人脸进行识别。 3. 将识别结果显示在 Qt 界面。 以下是一个简单的示例代码: ```cpp #include <opencv2/opencv.hpp> #include <QApplication> #include <QLabel> #include <QPixmap> using namespace cv; int main(int argc, char *argv[]) { QApplication a(argc, argv); // 加载人脸检测器 CascadeClassifier face_cascade; face_cascade.load("haarcascade_frontalface_alt.xml"); // 加载人脸识别器 Ptr<FaceRecognizer> recognizer = createLBPHFaceRecognizer(); recognizer->load("recognizer.xml"); // 打开摄像头 VideoCapture cap(0); if (!cap.isOpened()) { return -1; } // 创建 Qt 窗口 QLabel label; label.show(); while (true) { Mat frame; cap >> frame; // 检测人脸 std::vector<Rect> faces; face_cascade.detectMultiScale(frame, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30)); // 对每个检测到的人脸进行识别 for (size_t i = 0; i < faces.size(); i++) { Mat face = frame(faces[i]); cvtColor(face, face, CV_BGR2GRAY); equalizeHist(face, face); int label; double confidence; recognizer->predict(face, label, confidence); // 在 Qt 窗口显示识别结果 QString text = QString("Person %1, confidence %2").arg(label).arg(confidence); label.setText(text); QPixmap pixmap = QPixmap::fromImage(QImage(frame.data, frame.cols, frame.rows, frame.step, QImage::Format_RGB888).rgbSwapped()); label.setPixmap(pixmap); } // 显示 Qt 窗口 a.processEvents(); } return 0; } ``` 希望这个示例能够帮助你开始编写人脸识别程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值