- 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.
- Visual C++程序設計教程
- Python快樂編程:人工智能深度學習基礎
- Android Studio Essentials
- Java Web開發之道
- PyTorch自然語言處理入門與實戰
- 編寫高質量代碼:改善C程序代碼的125個建議
- C++ 從入門到項目實踐(超值版)
- jQuery開發基礎教程
- MATLAB GUI純代碼編寫從入門到實戰
- Getting Started with the Lazarus IDE
- 多接入邊緣計算實戰
- Instant SQL Server Analysis Services 2012 Cube Security
- Vue.js從入門到精通
- Unity 游戲案例開發大全
- Java核心技術·卷Ⅱ:高級特性(原書第10版)