一.前言
楼主最近在使用opencv采集摄像头信息,一开始都不知道怎么去打开笔记本的摄像头的,于是有空做一个记录分享
至于win下怎么配置opencv可以参考楼主文章Opencv笔记(一)之vs2015配置opencv4.5.5
二.核心代码
#include "opencv2/opencv.hpp"
using namespace cv;
int main()
{
// 打开摄像头
VideoCapture capture(0); // 打开默认摄像头
if (capture.isOpened())
{
std::cout << "打开默认摄像头成功" << std::endl;
bool quit = false;
Mat frame;
while (!quit)
{
capture.read(frame);
std::cout << "摄像中....." << std::endl;
imshow("Camera", frame);
if (waitKey() == 27) // 按下esc按退出
{
quit = true;
capture.release();
std::cout << "摄像结束....." << std::endl;
cv::destroyAllWindows();
}
}
return 0;
}
else
{
std::cout << "打开默认摄像头失败" << std::endl;
waitKey();
return -1;
}
}
踩坑记录
1.运行上面的代码,会发现确实打开了摄像头,但是不会动,就好像只抓拍了一张图,原来要这里的影响
waitKey() == 27
这里需要改成,给个10ms去显示帧图片
waitKey(10) == 27
效果截图