Computer >> Máy Tính >  >> Lập trình >> C ++

Làm thế nào để quay video từ máy ảnh mặc định trong OpenCV bằng C ++?

Ở đây, chúng ta sẽ hiểu cách truy cập camera mặc định và hiển thị luồng video từ camera đó. Trong máy tính xách tay, webcam cố định là máy ảnh mặc định. Trong máy tính để bàn, máy ảnh mặc định phụ thuộc vào trình tự của cổng nối tiếp nơi máy ảnh được kết nối. Khi chúng tôi muốn ghi lại luồng video từ webcam mặc định, chúng tôi không cần biết bất kỳ điều gì về máy ảnh và đảm bảo rằng máy ảnh đã được kết nối.

Chương trình sau lấy luồng video từ máy ảnh mặc định và hiển thị trên màn hình trong thời gian thực.

Ví dụ

#include<opencv2/opencv.hpp>//OpenCV header to use VideoCapture class//
#include<iostream>
using namespace std;
using namespace cv;
int main() {
   Mat myImage;//Declaring a matrix to load the frames//
   namedWindow("Video Player");//Declaring the video to show the video//
   VideoCapture cap(0);//Declaring an object to capture stream of frames from default camera//
   if (!cap.isOpened()){ //This section prompt an error message if no video stream is found//
      cout << "No video stream detected" << endl;
      system("pause");
      return-1;
   }
   while (true){ //Taking an everlasting loop to show the video//
      cap >> myImage;
      if (myImage.empty()){ //Breaking the loop if no video frame is detected//
         break;
      }
      imshow("Video Player", myImage);//Showing the video//
      char c = (char)waitKey(25);//Allowing 25 milliseconds frame processing time and initiating break condition//
      if (c == 27){ //If 'Esc' is entered break the loop//
         break;
      }
   }
   cap.release();//Releasing the buffer memory//
   return 0;
}

Chương trình này sẽ hiển thị luồng video của máy ảnh mặc định trong thời gian thực trên màn hình.

Đầu ra

Làm thế nào để quay video từ máy ảnh mặc định trong OpenCV bằng C ++?