【问题标题】:Display live processed webcam stream using matlab使用 matlab 显示实时处理的网络摄像头流
【发布时间】:2014-04-10 06:06:27
【问题描述】:

我正在尝试在实时视频中使用色度键算法。我需要获取实时网络摄像头输入,实时处理并显示它。我已经有了处理图像的色度键算法。

如何处理网络摄像头输入并立即显示。我曾尝试使用 snapshot() 并将图像传递给色度键算法,但即使我提高快照速率,它也太慢了。我想要一个流畅的输出。

[另外,如果有比 Matlab 更好的选择,请告诉我。 ]

【问题讨论】:

    标签: matlab real-time webcam


    【解决方案1】:

    不要使用getsnapshot() 连接到相机并在每一帧上断开连接(因此帧速率很慢),尝试使用视频输入然后preview 连接:http://www.mathworks.de/de/help/imaq/preview.html

    这个例子是为你准备的: http://www.mathworks.de/products/imaq/code-examples.html?file=/products/demos/shipping/imaq/demoimaq_LiveHistogram.html

    如图所示,您甚至可以定义一个回调处理函数,在每个新接收到的帧上调用它。

    【讨论】:

      【解决方案2】:

      您必须将TriggerType 设置为manual,否则getsnapshot() 将在您每次需要帧时创建(并破坏)与相机的连接。通过将其设置为手动,您可以启动相机一次,获取帧并在完成后停止相机。

      这是一个例子:

      vidobj = videoinput('winvideo', 1, 'RGB24_640x480');
      triggerconfig(vidobj, 'manual');
      
      start(vidobj);
      while true % Or any stop condition
          img = getsnapshot(vidobj);
      
          % Process the frame.
          ...
      
          imshow(img);
          drawnow;
      end
      

      【讨论】:

        猜你喜欢
        • 2020-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-24
        • 2016-09-24
        相关资源
        最近更新 更多