1. OpenCV简介
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了丰富的图像处理和计算机视觉功能。该库由英特尔公司发起,并在 BSD 许可证下发布,因此它是免费的,且开放源代码。
OpenCV完全由C++开发,提供C++和Python两套接口。
官方文档:
https://docs.opencv.org/4.5.2/https://docs.opencv.org/4.5.2/
Qt是兼容C++的,且提供了UI界面,因此调用OpenCV进行图像处理非常合适。
2. 环境搭建
需要注意,本地提供的OpenCV版本3.4仅限于与Qt 5.4配套,其他版本需要自行配套。
1. 解压缩到D盘,目录如下图所示,一定要注意文件夹的层级,尽量完全相同!!!
2. 进入Win的“我的电脑”,鼠标右键,点击“属性”。
3. 搜索并进入“编辑系统环境变量”。
4. 在弹出的窗口中点击“环境变量”。
5. 在系统变量的Path中点击“编辑”。
6. 在弹出的窗口中点击“新建”。
7. 在光标编辑处,粘贴之前OpenCV的本地路径:
D:\opencv\opencv3.4-install\install\x86\mingw\bin
8. 逐级确定,设置完成。
9. 重新启动电脑。
10. 新建一个Qt项目验证环境搭建的有效性,新建Qt项目后,在.pro文件中添加OpenCV的路径。
INCLUDEPATH += D:/opencv/opencv3.4-install/install/include
INCLUDEPATH += D:/opencv/opencv3.4-install/install/include/opencv
INCLUDEPATH += D:/opencv/opencv3.4-install/install/include/opencv2
LIBS += D:/opencv/opencv3.4-install/install/x86/mingw/lib/libopencv_*.a
11. 在main.cpp中编写一个示例程序验证OpenCV。
main.cpp
#include "dialog.h"
#include <QApplication>
#include <QDebug>// hpp是C++独享的头文件
#include <opencv2/opencv.hpp> // OpenCV的头文件using namespace cv; // 使用名字空间int main(int argc, char *argv[])
{
// 图像在OpenCV中是三维数组(矩阵 Matrix)
Mat src; // 数组对象
// 读取的图像默认路径在构建目录
src = imread("berry_island.png");
// 如果读取不到
if(!src.data)
{
qDebug() << "读取失败!";
return -1;
}
// 读取成功弹窗展示图片
namedWindow("input image",CV_WINDOW_AUTOSIZE);
// 在窗口中展示图片
// 参数1:一定要跟上面的窗口名称相同
// 参数2:要展示的图片
imshow("input image",src);
// 阻塞保持持续显示,直到按键
waitKey(0); return 0;
}
3. 人脸检测
1. 使用OpenCV获取摄像头数据。
2. 使用OpenCV自带的数据模型初始化级联分类器。
3. 中心区域图像裁切 + 灰度处理
4. 通过原始图像与级联分类器对比找到人脸区域并绘制矩形框
(我不是黑粉,我是真IKUN!)
openCV这里大家做一个简单了解即可,如果你真的对这方面很感兴趣或者想要从事图像处理方面的工作的话,可以继续更深入的学习。