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;
}