#include <opencv2/opencv.hpp>
1. 加载摄像头(摄像机)
可以简单调用 cv::VideoCapture 对象的 open() 方法来访问本机的摄像机(摄像头)或视频。
将默认的摄像机编号 0 传递给此函数。一些计算机有很多个摄像机或将 0 作为默认摄像机编号使程序不能运行,解决这类问题的通常做法是将用户指定摄像机编号作为命令行参数。
为了让程序在高分辨率摄像机上运行得更快,可用 cv::VideoCapture::set() 将摄像机的分辨率设置为 640*480.
int cameraNum = 0;
if (agrc > 1)
cameraNum = atoi(argv[1]);
cv::VideoCapture camera;
camera.open(cameraNum);
if (!camera.isOpen()){
std::cerr << "Error: could not access the camera" << std::endl;
exit(EXIT_FAILURE);
}
camera.set(cv::CV_CAP_PROP_FRAME_WIDTH, 640);
camera.set(cv::CV_CAP_PROP_FRAME_HEIGHT, 480);
2. 加载视频
加载视频文件与直接从摄像机获得视频的不同之处在于创建 cv::VideoCapture 对象时,应将视频文件名(camera.open(“my_video.avi”))而不是摄像机编号作为参数。