跳到主要内容

OpenCV 打开摄像头

下面是一个使用 OpenCV 打开本地摄像头的简单示例程序。

#include <opencv2/opencv.hpp>

int main()
{
// 打开默认摄像头(设备编号 0)
cv::VideoCapture cap(0);

// 检查摄像头是否成功打开
if (!cap.isOpened()) {
std::cerr << "Error: 无法打开摄像头." << std::endl;
return -1;
}

// 创建窗口用于显示图像
cv::namedWindow("My Camera", cv::WINDOW_NORMAL);

while (true) {
// 读取一帧图像
cv::Mat frame;
cap >> frame;

// 检查图像是否读取成功
if (frame.empty()) {
std::cerr << "Error: 无法读取图像." << std::endl;
break;
}

// 在窗口中显示图像
cv::imshow("My Camera", frame);

// 检测键盘按键,如果按下 'q' 键,则退出循环
if (cv::waitKey(1) == 'q') {
break;
}
}

// 释放摄像头资源
cap.release();

// 关闭窗口
cv::destroyAllWindows();

return 0;
}

在这个程序中,我们使用 OpenCV 的 VideoCapture 类打开默认摄像头(设备编号 0),然后循环读取摄像头的每一帧图像,并在窗口中显示。按下 'q' 键退出程序。确保你已经安装了 OpenCV 库并正确配置了开发环境。