Карта видеозахвата (как веб-камера) с OpenCV

Я хочу использовать карту видеозахвата для захвата экрана и обработки изображения с помощью OpenCV/C++.

Я слышал, что есть какая-то карта захвата видео, которая похожа на веб-камеру (т.е. я могу получить изображение на экране с помощью VideoCapture в OpenCV).

Может кто-нибудь сказать мне, какую карту захвата видео я должен купить?

Спасибо!!!

1 ответ

Я не знаю, есть ли какой-то способ добиться этого напрямую с помощью OpenCV. Тем не менее, простой обходной путь может быть таким:

  1. Используя это программное обеспечение, вы можете создать новую веб-камеру, которая транслирует ваш экран: https://sparkosoft.com/how-to-stream-desktop-as-webcam-video
  2. Используя OpenCV, вы можете начать захват потока, используя этот код:

    cv::VideoCapture cap;
    if(!cap.open(0)) // Use the new webcam Id instead of 0
        return 0;
    while(true){
          cv::Mat frame;
          cap >> frame;
          if(frame.empty()) break;
          cv::imshow("Screen", frame);
          if( waitKey(10) == 27 ) break;
    }
    return 0;
    

Не знаю, помогает ли это сейчас. Но я нашел способ использовать opencv. В linux и python мы достигаем этого с помощью следующего фрагмента кода.

import cv2
cap = cv2.VideoCapture('/dev/video0')
Другие вопросы по тегам