【问题标题】:opencv video capture and camera access on virtual machine虚拟机上的opencv视频捕获和摄像头访问
【发布时间】:2016-02-04 11:19:53
【问题描述】:

我正在尝试使用计算机上的网络摄像头实时捕捉图像。 我正在使用虚拟机运行 Ubuntu,并且我知道我需要设置 USB 设置才能使用网络摄像头,但我还需要安装网络摄像头驱动程序吗?如果是的话,我该怎么做!

我安装了 虚拟机 5.0.6 ubuntu 14.04.3

我正在运行 Windows 10 机器

这是我正在运行的代码,我收到“错误:无法访问相机!” ..

你能帮忙吗!

// Get access to the webcam.
void initWebcam(VideoCapture &videoCapture, int cameraNumber)
{
    // Get access to the default camera.
    try {   
        videoCapture.open(cameraNumber);
    } catch (Exception &e) {}
    if ( !videoCapture.isOpened() ) {
        cerr << "ERROR: Could not access the camera!" << endl;
        exit(1);
    }
    cout << "Loaded camera " << cameraNumber << "." << endl;
}

int main(int argc, char** argv)
{

    const int DESIRED_CAMERA_WIDTH = 640;
    const int DESIRED_CAMERA_HEIGHT = 480;    
    int cameraNumber = 0;  

    // Get access to the camera.
    VideoCapture camera;
    initWebcam(camera, cameraNumber);

    camera.set(CV_CAP_PROP_FRAME_WIDTH, DESIRED_CAMERA_WIDTH);
    camera.set(CV_CAP_PROP_FRAME_HEIGHT, DESIRED_CAMERA_HEIGHT);

    while (true) {

        // Grab the next camera frame. Note that you can't modify camera frames.
        Mat cameraFrame;
        camera >> cameraFrame;
        if( cameraFrame.empty() ) {
            cerr << "ERROR: Couldn't grab the next camera frame." << endl;
            exit(1);
        }

        Mat displayedFrame = Mat(cameraFrame.size(), CV_8UC3);
        // DO SOME PROCESSING

return 0;
}

【问题讨论】:

  • 这个应该回答。我也有同样的问题。

标签: c++ opencv ubuntu virtual-machine video-capture


【解决方案1】:

我遇到了同样的错误。这发生在我身上,因为我的虚拟机没有检测到我的网络摄像头。我已经安装了奶酪(一个使用网络摄像头的程序)并确认了这一点。所以,我在虚拟机配置上打开了 USB 控制器。然后,运行虚拟机,我在设备菜单上检查了我的网络摄像头,一切都开始工作了! 希望对您有所帮助。

【讨论】:

    【解决方案2】:

    这似乎是一个授权问题。 尝试从命令行使用 sudo 运行。 另一个问题可能是您选择了错误的摄像头(例如,您有一台笔记本电脑,并且还打开了集成摄像头),您可以使用 'dmesg | 提示连接到 vm 的设备。 grep usb'

    【讨论】:

      【解决方案3】:

      我知道这不是您想要的解决方案,但这会解决您的问题。

      https://medium.com/@ageitgey/try-deep-learning-in-python-now-with-a-fully-pre-configured-vm-1d97d4c3e9b

      按照上面的链接创建一个新的虚拟机,其中包括所有需要的包,并且它还具有摄像头捕捉功能。

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-16
        • 2014-06-05
        • 1970-01-01
        • 2012-10-17
        • 1970-01-01
        • 2015-06-22
        • 1970-01-01
        • 2016-03-16
        相关资源
        最近更新 更多