参考:OpenCV视频文件读取;摄像头实时数据_黎国溥-CSDN博客_opencv读取摄像头
功能:CPP下OpenCV读取视频流并显示至窗口。短暂延时20ms。按下q键退出程序。
main.cpp
#include <iostream>
#include "../opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main(){
/*cvtColor*/
cout << "cv_20220120_demo0" << endl;
Mat frame;//创建一个图片对象
/*
VideoCapture::VideoCapture()
VideoCapture::VideoCapture(const String& filename)
VideoCapture::VideoCapture(int device)
VideoCapture::open(const String& filename)
VideoCapture::open(int device)
filename:打开的视频文件名
device:打开的视频捕获设备id,如果只有一个摄像头可以填0,表示打开默认的摄像头
如果是外接摄像头,这里改为1
VideoCapture::release() 关闭视频文件或者摄像头资源<=InputStream
*/
VideoCapture c;
c.open(0);
while(1){
c>>frame;//读取当前帧
if(!frame.empty()){
imshow("show_video",frame);
}
if(waitKey(20)=='q'){//延时20ms 获取用户是否按下q
break;
}
}
c.release();//释放摄像头资源
destroyAllWindows();//释放全部窗口
return 0;
}
CV_Show_Video.pro
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += \
main.cpp
INCLUDEPATH += D:\OpenCV\build\include \
D:\OpenCV\build\include\opencv \
D:\OpenCV\build\include\opencv2
CONFIG(debug, debug|release): {
LIBS += -LD:\OpenCV\build\x64\vc15\lib \
-lopencv_world451d
} else:CONFIG(release, debug|release): {
LIBS += -LD:\OpenCV\build\x64\vc15\lib \
-lopencv_world451
}