【问题标题】:how to use matlab vision.ForegroundDetector with webcam如何使用 matlab vision.ForegroundDetector 和网络摄像头
【发布时间】:2013-12-16 09:14:15
【问题描述】:

如何将 matlab vision.ForegroundDetector 与网络摄像头一起使用,而不是输入视频文件。

hsrc = vision.VideoFileReader('viptraffic.avi','ImageColorSpace','Intensity','VideoOutputDataType','uint8');
hfg = vision.ForegroundDetector(...
       'NumTrainingFrames', 5, ... % 5 because of short video
       'InitialVariance', 30*30); % initial standard deviation of 30
hblob = vision.BlobAnalysis(...
       'CentroidOutputPort', false, 'AreaOutputPort', false, ...
       'BoundingBoxOutputPort', true, ...
       'MinimumBlobAreaSource', 'Property', 'MinimumBlobArea', 250);
hsi = vision.ShapeInserter('BorderColor','White');

hsnk = vision.VideoPlayer();
while ~isDone(hsrc)
     frame  = step(hsrc);
     fgMask = step(hfg, frame);
     bbox   = step(hblob, fgMask);
     out    = step(hsi, frame, bbox); % draw bounding boxes around cars
     step(hsnk, out); % view results in the video player
end
release(hsnk);
release(hsrc);

【问题讨论】:

    标签: matlab computer-vision background-subtraction matlab-cvst


    【解决方案1】:

    如果您可以访问 Image Acquisition Toolbox,则可以将第一行替换为:

    hsrc = imaq.VideoDevice('winvideo', 1, 'MJPG_640x480', ...
        'ReturnedColorSpace','grayscale', 'ReturnedDataType','uint8');
    

    您需要根据网络摄像头支持的格式调整参数。只需查阅imaq.VideoDevice 函数的文档即可。

    也只需将循环测试替换为 while true,因为视频源始终未完成 :)

    【讨论】:

      猜你喜欢
      • 2016-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多