1.基础操作

1.图片

.pro文件


TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

INCLUDEPATH += C:\openmv\opencv_3.4.2_Qt\opencv_3.4.2_Qt\include
LIBS += C:\openmv\opencv_3.4.2_Qt\opencv_3.4.2_Qt\x86\bin\libopencv_*.dll
.cpp

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

int main(int argc, char *argv[])
{
//    //1.显示一张图片
//    Mat img=imread("c:/work/mm.jpg");//读取c盘美女图片,保存在img变量里
//    imshow("mm",img);//显示图片  参数一:指定窗口标题    参数二:要显示的对象
//    waitKey(0);//在指定时间内等待用户摁下按键

//        //2.在图片上画红色方框
//        Mat img=imread("c:/work/mm.jpg");//读取c盘美女图片,保存在img变量里
//        //在这边画红色边框
//        //参数一:要画方框的对象,参数2:方框的参数(位置,大小),参数三:颜色  参数四:粗细
//        rectangle(img,Rect(200,100,350,450),Scalar(0,0,255),3);
//        imshow("mm",img);//显示图片  参数一:指定窗口标题    参数二:要显示的对象
//        waitKey(0);//在指定时间内等待用户摁下按键
     //3.显示一个视频
        VideoCapture cap=VideoCapture("c:/work/sing.mp4");
        Mat img;
        while(cap.read(img))
              {
            //4.在视频里话方框
              rectangle(img,Rect(200,100,350,450),Scalar(0,0,255),3);
              imshow("video",img);
              waitKey(30);
              }
          cap.release();
    cout << "Hello World!" << endl;
    return 0;
}

2.人脸识别

.pro和上面一样

.cpp

#include <iostream>
#include<opencv2/opencv.hpp>
#include<vector>
using namespace cv;
using namespace std;
//封装一个函数,画出所有人脸方框
bool drawRect(Mat& src,vector<Rect>& face)
{
    //如果没有检测到人脸,直接退出
    if(face.empty())
        return false;
    //否则将每个人的人脸用方框框出来
    for(int i=0;i<face.size();i++)
    {
        int x=face[i].tl().x;
        int y=face[i].tl().y;
        int width=face[i].width;
        int height=face[i].height;
        rectangle(src,Rect(x,y,width,height),Scalar(0,0,255),3);
    }


}
int main(int argc, char *argv[])
{
        Mat img=imread("c:/work/mmm.jpg");//读取c盘美女图片,保存在img变量里
//        imshow("mm",img);//显示图片  参数一:指定窗口标题    参数二:要显示的对象
//        waitKey(0);//在指定时间内等待用户摁下按键
    //1.图片人脸识别
        vector<Rect>face;
    //1.1创建人脸检测器
   CascadeClassifier object;
    //1.2加载Haar分类器,用于人脸识别
   object.load("c:/work/haarcascade_frontalface_alt.xml");
    //1.3人脸识别
    object.detectMultiScale(img,face);
    //1.4将识别的人脸画出来
    drawRect(img,face);
//    rectangle(img,Rect(face[0].tl().x,face[0].tl().y,face[0].width,face[0].height),Scalar(0,0,255),3);
    imshow("mmm",img);//显示图片  参数一:指定窗口标题    参数二:要显示的对象
    waitKey(0);//在指定时间内等待用户摁下按键

    cout << "Hello World!" << endl;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值