Карта видеозахвата (как веб-камера) с OpenCV
Я хочу использовать карту видеозахвата для захвата экрана и обработки изображения с помощью OpenCV/C++.
Я слышал, что есть какая-то карта захвата видео, которая похожа на веб-камеру (т.е. я могу получить изображение на экране с помощью VideoCapture в OpenCV).
Может кто-нибудь сказать мне, какую карту захвата видео я должен купить?
Спасибо!!!
1 ответ
Я не знаю, есть ли какой-то способ добиться этого напрямую с помощью OpenCV. Тем не менее, простой обходной путь может быть таким:
- Используя это программное обеспечение, вы можете создать новую веб-камеру, которая транслирует ваш экран: https://sparkosoft.com/how-to-stream-desktop-as-webcam-video
Используя 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')