首页 > 其他分享 >day10(Qt)OpenCV

day10(Qt)OpenCV

时间:2024-10-28 21:45:36浏览次数:6  
标签:Qt opencv OpenCV day10 install opencv3.4 include

目录

OpenCV

1. OpenCV简介

2. 环境搭建

3. 人脸检测


OpenCV

1. OpenCV简介

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了丰富的图像处理和计算机视觉功能。该库由英特尔公司发起,并在 BSD 许可证下发布,因此它是免费的,且开放源代码。

OpenCV完全由C++开发,提供C++和Python两套接口。

官方文档:

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. 通过原始图像与级联分类器对比找到人脸区域并绘制矩形框

代码:

通过网盘分享的文件:Day8_24072_Detect (3).zip

链接: https://pan.baidu.com/s/1CTvhAZGodoIO-GeGz0W-cA

提取码: 8ayf

标签:Qt,opencv,OpenCV,day10,install,opencv3.4,include
From: https://blog.csdn.net/QR70892/article/details/143276721

相关文章

  • 基于YOLOv8深度学习的吸烟/抽烟行为检测系统【python源码+Pyqt5界面+数据集+训练代码
    背景及意义吸烟行为检测对于维护公共场所的健康环境、防止火灾事故的发生以及促进健康生活方式都具有重要作用。使用基于YOLOv8的吸烟行为检测系统能够有效识别视频中的吸烟行为,从而及时采取适当措施。本文基于YOLOv8深度学习框架,通过2357张图片,训练了一个进行吸烟行为的......
  • 基于YOLOv10/YOLOv9/YOLOv8深度学习的工业螺栓螺母检测系统【python源码+Pyqt5界面+数
    背景及意义工业螺栓螺母检测系统的实施显著提高了制造行业的产品质量和工作效率。该系统的应用涵盖了从生产、检查到包装等各个环节,为精密设备的维护和安全运行提供了强大的技术支持。本文基于YOLOv10/YOLOv9/YOLOv8深度学习框架,通过2548张工业螺栓螺母的相关图片,训练了可......
  • 基于YOLOv10/v9/v8深度学习的金属焊缝缺陷检测系统【python源码+Pyqt5界面+数据集+训
    背景及意义金属焊缝缺陷检测系统的实现显著提高了众多工业领域产品的安全性和可靠性。自动化的检测过程不仅增加了工作效率,还降低了人力成本和事故风险。本文基于YOLOv10/v9/v8深度学习框架,通过3170张金属焊缝缺陷的相关图片,训练了可进行焊缝缺陷目标检测的模型,可以分别......
  • 基于YOLOv8深度学习的人脸面部口罩检测系统【python源码+Pyqt5界面+数据集+训练代码】
    背景及意义人脸口罩面部检测能够准确地检测人脸是否佩戴口罩,对于控制疫情传播、保障公共卫生安全起到关键作用。本文基于YOLOv8深度学习框架,通过853张图片,训练了一个进行人脸面部口罩的目标检测模型,能够准确的检测人脸“戴口罩”、“未戴口罩”及“未正确佩戴口罩”。并基......
  • Qt gridLayout布局占两格或两列在ui文件中实现
         在Qt  gridLayou布局里添加一个控件如何设置其占两格或多格   如下图:             一、如果是纯代码编写的界面 (大多是这个方式)     在纯代码编写的界面应用中,可以使用函数QGridLayout::addWidget(QWidget*w,intr......
  • PyQt开发-mkvirtualenv虚拟环境
    一、mkvirtualenv简介 1.虚拟环境简介 考虑以下场景:当我们需要同时维护一个由 Django1.0 版本驱动的老项目和开发一个使用 Django2.0 版本的新项目时,如何顺滑的在两种开发环境中切换成了一个难题。为了解决这个问题,虚拟环境应运而生。什么是虚拟环境:第一次安......
  • C++之OpenCV入门到提高001:使用 Visual Studio2022 配置 OpenCV 环境
    一、介绍从今天开始,我们又要开始一个新的系列了,这个系列就是《C++之Opencv入门到提高》。这个系列是有关如何使用C++语言,通过Opencv来实现图像处理、缺陷检测、视频处理、机器学习等功能。OpenCV我也是新接触的,一步一步的学习,一步一步提高。这个系列是以C++为基......
  • Qt/C++地图雷达扫描/动态扇形区域/标记线实时移动/轮船货轮动态轨迹/雷达模拟/跟随地
    一、前言说明地图雷达扫描的需求场景也不少,很多人的做法是直接搞个覆盖层widget,在widget上绘制雷达,优缺点很明显,优点是性能高,毕竟直接在widget上绘制性能明显比js中绘制要高,缺点是要么动态计算经纬度坐标转屏幕坐标来实现跟随,要么固定的通过改变绘制的范围内容来跟随,但是总归使用......
  • 基于MATLAB基于OpenCV的实时疲劳检测
    检测方法1)方法与用于计算眨眼的传统图像处理方法不同,该方法通常涉及以下几种组合:1、眼睛定位。2、阈值找到眼睛的白色。3、确定眼睛的“白色”区域是否消失了一段时间(表示眨眼)。相反,眼睛长宽比是一种更为优雅的解决方案,它涉及基于眼睛面部轮廓之间的距离之比的非常简单的......
  • 备战蓝桥杯JAVA B组Day10
    备战蓝桥杯JAVAB组Day10目录备战蓝桥杯JAVAB组Day10前言P1428小鱼比可爱P1427小鱼的数字游戏P5727【深基5.例3】冰雹猜想P1047[NOIP2005普及组]校门外的树P5728【深基5.例5】旗鼓相当的对手前言零基础小白备战蓝桥杯第十天,刷题内容为:洛谷题单【入门3】循......