一、实现效果
二、实现原理
使用 OpenCV 打开摄像头,持续捕获视频帧,并在一个窗口中实时显示这些帧,直到用户按下 ESC 键退出。整体流程:打开摄像头(cv::VideoCapture)=>创建图像显示窗口(cv::namedWindow)=>循环读取视频帧=>显示帧到窗口中(cv::imshow)=>判断退出条件(cv::waitKey 检测键盘按键)=>释放资源并关闭窗口
三、参考代码
void demo() {
std::cout << "Running video_processing demo..." << std::endl;
cv::VideoCapture cap(0, cv::CAP_ANY);
if (!cap.isOpened()) {
std::cerr << "Error: Could not open camera." << std::endl;
return;
}
cap.set(cv::CAP_PROP_FRAME_WIDTH, 1280);
cap.set(cv::CAP_PROP_FRAME_HEIGHT, 720);
cap.set(cv::CAP_PROP_FPS, 30);
cv::namedWindow("Live", cv::WINDOW_NORMAL);
cv::resizeWindow("Live", 1280, 720);
cv::Mat frame;
while (true) {
if (!cap.read(frame)) break;
if (frame.empty()) continue;
cv::imshow("Live", frame);
if (cv::waitKey(1) == 27) break;
}
cap.release();
cv::destroyAllWindows();
}
欢迎关注我,一起交流!