OpenCV人脸识别技术基础知识 1Day/4Day

opencv简介:一个基于BSD许可(开源)发行的跨平台计算机视觉库,是高效且轻量级的--由一些列c函数和少量c++类构成,提供多种语言的接口,实现了图像处理和计算机视觉方面许多通用的算法。

opencv是一个第三方的库,做图像处理,本身不能做应用开发,必须结合某些应用框架来使用。

注意:当我们使用qt开发人脸识别项目的时候,我们会发现,qt本身并不支持人脸识别,所以我们必须在qt中添加opencv库,帮助完成,人脸识别只是opencv的一部分罢了。

一。添加opencv配置文件

配置工程文件pro:添加

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

成功如下所示:

#-------------------------------------------------
#
# Project created by QtCreator 2023-05-16T20:11:15
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = TEST0515_TEST
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui


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

 可以使用以下代码进行验证是否你的环境配置成功:

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
    //栈空间创建图像类函数
    Mat src;
    //加载图像 可以使用相对路径和绝对路径  相对于build文件夹
        src = imread("E:/11.jpg");
        if (!src.data) {
          cout<<"could not load image...\n"<<endl;
            return -1;
        }
        //创建窗口 1参数:命名 2参数:自适应图片大小
        namedWindow("input image", CV_WINDOW_AUTOSIZE);
        //显示窗口
        imshow("input image", src);
        //等待键盘输入 if 0 等待键入 关闭窗口
        //if 30 等待30 ms
        waitKey(0);

}

一些对图片处理的函数:

/****************可以转化为灰度图片的两行函数************************/
Mat Gray;
cvtColor(src,Gray,CV_BGR2GRAY);
imshow("gray",Gray);
/******************保存一张图片 默认build文件夹*******************/
imwrite("gray.jpg",Gray);
/******************************镜面翻转**************************/
flip(frame,frame,1);
/*******************************设置图像大小***********************/
cv::resize(frame,frame,Size(600,600));
/***************************对于一张图片部分截图****************************/
//创建矩形类----参1参2是起始点----------参3参4是大小
Rect r(0,0,350,350);
 //截图
Mat dst=src(r);
imshow("dst",dst);
/********************************添加相框*************************************/
//创建矩形类----参1参2是起始点----------参3参4是大小
Rect r(0,0,350,350);
//gbr---画一个红色方框
rectangle(src,r,Scalar(0,0,255));
/****当opencv里面的图片转到qt界面文件中去时候,要进行色彩格式转换,有gbr转化为rgb*********/
cvtColor(src,src,CV_BGR2RGB);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值