第一章 Opencv基础

1.QT安装和Opencv的搭建

Notice:

1. 为了匹配QT框架,需要重新编译Opencv的源码(3.4.5)

2. 需要在.pro文件中加: 

#导入头文件

INCLUDEPATH+=D:\opencv\opencv345\opencv-build\install\include

#导入库文件

LIBS +=D:\opencv\opencv345\opencv-build\lib\libopencv_*.a

2. 常用的Opencv操作

#include<opencv2/opencv.hpp>
/**********(1)创建Mat对象的三种方式***********/
// 1
   Mat img(2,2,CV_8UC3,Scalar(0,255,255));
// 2
   Mat img;img.create(4,4,CV_8UC(2));
// 3
   Mat array = Mat::zeros(4,4,CV_8UC1);
​
/**********(2)复制***********/
// 1
Mat clone;
srcImg.copyTo(clone);
// 2
Mat clone = srcImg.row(1).clone();
​
/**********(3)读图片***********/
Mat srcImg = imread("./1.jpg");
if(srcImg.data != NULL)
{
    imshow("srcImg",srcImg);
    imwrite("./2.jpg",srcImg);
    waitKey(0);
}
​
/**********(4)打开视频***********/
cv::VideoCapture cap;
cap.open(0);
Mat edge;
​
while(1)
{
    Mat frame;
    cap >> frame;
    cvtColor(frame,edge,CV_BGR2GRAY);
    blur(edge,edge,Size(7,7));
    Canny(edge,edge,0,30,0);
    imshow("Gauss Blur Video",edge); 
    if(waitKey(30) >= 0)
        break;    
}
​
/**********(5)打开设备摄像头,并录制视频,保存为.avi文件***********/
cv::VideoCapture cap;
Mat frame;
cap.open(0);
​
VideoWriter out;
string outputVideoPath = "D:\\opencv\\test.avi";
cv::Size sWH = cv::Size((int)cap.get(CV_CAP_PROP_FRAME_WIDTH),
                        (int)cap.get(CV_CAP_PROP_FRAME_HEIGHT));
​
out.open(outputVideoPath, CV_FOURCC('M', 'J', 'P', 'G'), 50, sWH);
​
if(out.isOpened())
{
    cout << "out Opened!"<<endl;
}
else{
    cout << "out Opened failed!" <<endl;
}
if(!cap.isOpened())
{
    cout<<"Video load failed!"<<endl;
    return -1;
}
​
while(1)
{
    cap >> frame;
    if(frame.empty())
    {
        cout << "Video process finished!" << endl;
        return 0;
    }
​
    imshow("video",frame);
    if(waitKey(10) == 'q')break;
    out << frame;
}
​
cap.release();
​
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值