如何将 matlab videofilereader 输出转换为 blobanalysis 输入

how to convert matlab videofilereader output for blobanalysis input

我想在单个视频帧中搜索任何视觉斑点。 但是 blobAnalyzer() 不接受来自 VideoFileReader() 的帧。

似乎是从视频帧转换为二进制图像的问题?

错误是: 使用视觉时出错。BlobAnalysis/step 不支持二维以上的数据 对于这个系统对象。

测试错误(第 20 行) [区域、质心、bboxes] = obj.blobAnalyser.step( video_frame );

% 获取视频帧: videoFileLeft = 'handshake_left.avi';

readerLeft = vision.VideoFileReader(videoFileLeft, 'VideoOutputDataType', 'uint8');

video_frame = readerLeft.step();

% 解析 blob: obj.blobAnalyser = vision.BlobAnalysis('BoundingBoxOutputPort', 真, ... 'AreaOutputPort',正确,'CentroidOutputPort',正确,... 'MinimumBlobArea', 400);

    [areas, centroids, bboxes] = obj.blobAnalyser.step( video_frame );

您正在阅读 rgb 视频,但 blobAnalyser 仅支持二进制图像(黑白)。使用 im2bw 进行转换。