带有 OpenCV 的视频采集卡(类似网络摄像头)
video capture card (webcam like) with OpenCV
我想用视频采集卡采集我的屏幕显示,然后用OpenCV/C++处理图像。
我听说有一些类似网络摄像头的视频采集卡。(即我可以通过OpenCV中的VideoCapture获取屏幕显示。)
谁能告诉我应该买哪种视频采集卡?
谢谢!!!
不知道有没有办法直接用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')
我想用视频采集卡采集我的屏幕显示,然后用OpenCV/C++处理图像。
我听说有一些类似网络摄像头的视频采集卡。(即我可以通过OpenCV中的VideoCapture获取屏幕显示。)
谁能告诉我应该买哪种视频采集卡?
谢谢!!!
不知道有没有办法直接用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')