使用OpenCV捕获摄像头图像并保存
2星 需积分: 31 74 浏览量
更新于2024-09-08
3
收藏 1KB TXT 举报
"使用OpenCV调用摄像头并截图保存的代码示例"
OpenCV(Open Source Computer Vision Library)是一个强大的计算机视觉库,它包含了处理图像和视频的各种功能。在这个示例中,我们将讨论如何使用OpenCV来打开摄像头、捕获帧并将其保存为图片。
首先,我们需要包含必要的头文件,分别是`opencv2\core\core.hpp`、`opencv2\highgui\highgui.hpp`和`opencv2\imgproc\imgproc.hpp`。这些文件提供了OpenCV的核心功能,包括图像处理和用户界面操作。
在代码中,定义了两个常量:`camera_name`表示摄像头窗口的名称,`picwindow_name`表示显示截图的窗口名称。接着,`main()`函数是程序的入口点,我们在这里进行所有操作。
`VideoCapture capture(0)`用于初始化一个视频捕捉对象,参数0通常代表默认摄像头。`capture.isOpened()`检查摄像头是否成功打开,如果未打开,程序会输出错误信息并返回0。
`Mat frame`是一个OpenCV的矩阵类实例,用于存储每一帧的图像数据。`char key`用于接收用户输入,`char picture_name[200]`用来存储图片文件名。
`namedWindow`函数创建了两个窗口,一个用于显示摄像头的实时画面,另一个用于显示已保存的截图。`waitKey(30)`函数会在每30毫秒检查一次用户是否按下键盘键,这样可以实现循环播放摄像头的视频流。
在`while`循环中,`capture >> frame`从摄像头获取一帧图像并将其存储在`frame`变量中。`imshow`函数将图像显示在相应的窗口上。当用户按下ESC键时,`while`循环结束,程序退出。如果按下空格键,`picture_name`会被更新为新的文件名,并使用`imwrite`函数将当前帧保存为JPEG图片。保存后的图片会显示在`picwindow_name`窗口中。
这个程序提供了一个基础的框架,可以在此基础上添加更多功能,例如调整图像质量、添加时间戳、改变保存图片的格式等。通过理解这段代码,开发者可以进一步学习OpenCV在实时视频处理和图像保存方面的应用。
2018-09-05 上传
117 浏览量
2023-07-25 上传
2023-07-12 上传
2018-04-30 上传
2023-05-28 上传
2024-11-25 上传
csdn_dzh
- 粉丝: 131
- 资源: 15