识别
jack_20
这个作者很懒,什么都没留下…
展开
-
人脸识别系统开发(2)--QML基础语法
人脸识别系统的界面通过QML来实现,本文以代码注释的形式来介绍QML的基础语法。 若需要了解相关布局、控件的详细用法可以参考Qt5的在线文档:http://doc.qt.io/qt-5/,Qt官方提供了详细的示例。QML的教程可以参考《Qt Quick核心编程》qml文件可以直接使用qmlscene.exe(所在目录参考C:\Qt\Qt5.6.3\5.6.3\msvc2015\bi转载 2018-01-11 15:25:39 · 477 阅读 · 0 评论 -
人脸识别系统开发(8) -- OpenCV人脸检测
人脸检测使用cv::CascadeClassifier提供的功能实现,首先使用opencv自带的训练数据lbpcascade_frontalface.xml初始化CascadeClassifier,然后调用detectMultiScale得到图片中人脸的Rect.#include "opencv2/objdetect/objdetect.hpp"#include "opencv2/imgpr转载 2018-01-11 15:33:03 · 199 阅读 · 0 评论 -
人脸识别系统开发(1)--系统及开发环境介绍
一、开发环境介绍Visual Studio 2015Qt 5.6.3 (该版本及以上版本都可以)dlib-19.7opencv-2.4.13.3-vc14mkl_2018.0.124 (编译dlib时需要)mkl下载地址:https://pan.baidu.com/s/1qYHriKs 密码:wl6zVisual studio+Qt的开发环境搭建参考:Visual Stud转载 2018-01-11 15:22:24 · 876 阅读 · 1 评论 -
人脸识别系统开发(5) -- QML显示QImage
QML显示QImage的流程大致如下:1. 定义一个QQuickImageProvider派生类,实现requestImage和requestPixmap接口,返回需要显示的图片。示例:#pragma once#include #include #include class GrapImageProvider : public QQuickImageProvider, pub转载 2018-01-11 15:44:32 · 1745 阅读 · 0 评论 -
人脸识别系统开发(9) -- Dlib人脸比对
这里的人脸识别准确的说是人脸比对,特征点比对。opencv是基于机器学习的,需要使用素材进行训练,不符合该系统的要求。所以这里使用dlib来实现。从dlib官方网站http://dlib.net/下载源码,使用cmake生成visual stuido工程,然后编译。编译dlib可能需要安装mkl,mkl下载地址:https://pan.baidu.com/s/1qYHriKs 密码:w原创 2018-01-11 15:36:59 · 4968 阅读 · 0 评论 -
人脸识别系统开发(4) -- 图片列表功能
在该人脸识别系统中,每次识别过程都会从摄像头实时捕获N(暂定为3)张人脸图片,用这N张图片来和证件上面的人脸进行比对。系统会将每次捕获的人脸图片显示在右侧的列表中,我们可以通过QML中的ListView来实现列表功能。MVC在说ListView功能前,就不得不提MVC设计模式了,因为ListView是采用这个模式来实现的。Model-View—Controller(MVC)是源自Sma转载 2018-01-11 15:35:30 · 710 阅读 · 0 评论 -
人脸识别系统开发(7) -- cv::Mat与QImage相互转换
#include #include #include QImage cvMat2QImage(const cv::Mat & mat){ // 8-bits unsigned, NO. OF CHANNELS = 1 if (mat.type() == CV_8UC1) { QImage image(mat.cols, mat.rows, QIma转载 2018-01-11 15:32:15 · 707 阅读 · 0 评论 -
人脸识别系统开发(6) -- OpenCV摄像头预览
OpenCV的使用起来非常人性化,是我见过为数不多的,体量大且在windows平台编译没警告的开源库,开发opencv的科学家是真的严谨。 这里OpenCV使用的版本是2.4.13.3,使用cmake生成visual stuido工程,编译即可。OpenCV官方提供了丰富的示例,包括摄像头预览、人脸检测、人脸比对等。 使用opencv操作USB摄像头,用户只需要指定设备ID即可:转载 2018-01-11 15:31:00 · 500 阅读 · 1 评论 -
人脸识别系统(3)--C++与QML混合编程
使用Qt Quick技术可以快速的构建流畅的界面,而且具有动画等各种绚丽的效果。但它也有很多局限性,比如在网络访问、硬件操作、文件处理等方面,所以在很多时候我们需要混合使用C++和QML,比如使用QML构建界面,使用C++来实现非界面的业务逻辑等。这样也就涉及到了QML和C++之间的交互了。其实,QML的很多基本类型本来也是通过C++来实现的,比如Item对应QQuickItem类,Image对应转载 2018-01-11 15:27:25 · 365 阅读 · 0 评论 -
人脸识别系统开发(8) -- OpenCV人脸检测
人脸检测使用cv::CascadeClassifier提供的功能实现,首先使用opencv自带的训练数据lbpcascade_frontalface.xml初始化CascadeClassifier,然后调用detectMultiScale得到图片中人脸的Rect.#include "opencv2/objdetect/objdetect.hpp"#include "opencv2/imgpr转载 2018-01-12 11:51:38 · 327 阅读 · 0 评论