- Mastering OpenCV 4
- Roy Shilkrot David Millán Escrivá
- 342字
- 2021-07-02 14:47:34
Accessing the webcam
To access a computer's webcam or camera device, you can simply call the open() function on a cv::VideoCapture object (OpenCV's method of accessing your camera device), and pass 0 as the default camera ID number. Some computers have multiple cameras attached, or they do not work with a default camera of 0, so it is common practice to allow the user to pass the desired camera number as a command-line argument, in case they want to try camera 1, 2, or -1, for example. We will also try to set the camera resolution to 640 x 480 using cv::VideoCapture::set() to run faster on high-resolution cameras.
You can put this code in the main() function of your main.cpp file:
auto cameraNumber = 0;
if (argc> 1)
cameraNumber = atoi(argv[1]);
// Get access to the camera.
cv::VideoCapture camera;
camera.open(cameraNumber);
if (!camera.isOpened()) {
std::cerr<<"ERROR: Could not access the camera or video!"<< std::endl;
exit(1);
}
// Try to set the camera resolution.
camera.set(cv::CV_CAP_PROP_FRAME_WIDTH, 640);
camera.set(cv::CV_CAP_PROP_FRAME_HEIGHT, 480);
After the webcam has been initialized, you can grab the current camera image as a cv::Mat object (OpenCV's image container). You can grab each camera frame by using the C++ streaming operator from your cv::VideoCapture object in a cv::Mat object, just like if you were getting input from a console.
- WildFly:New Features
- Kibana Essentials
- Cocos2D-X權威指南(第2版)
- Android項目開發入門教程
- Julia Cookbook
- Java EE 7 Development with NetBeans 8
- Serverless架構
- ArcGIS for Desktop Cookbook
- Scratch從入門到精通
- Java EE架構設計與開發實踐
- Unreal Engine Game Development Cookbook
- ASP.NET Core 2 High Performance(Second Edition)
- PHP典型模塊與項目實戰大全
- Neo4j權威指南 (圖數據庫技術叢書)
- jQuery EasyUI從零開始學