我想搜索任何视觉斑点的单个视频帧。 但是blobAnalyzer()不接受来自VideoFileReader()的帧。
似乎是从视频帧转换为二进制图像的问题?
错误是: 使用vision.BlobAnalysis / step时出错 不支持具有两个以上维度的数据 对于这个系统对象。
测试错误(第20行) [area,centroids,bboxes] = obj.blobAnalyser.step(video_frame);
%获取视频帧: videoFileLeft ='handshake_left.avi';
readerLeft = vision.VideoFileReader(videoFileLeft, 'VideoOutputDataType', 'uint8');
video_frame = readerLeft.step();
%Parse blobs: obj.blobAnalyser = vision.BlobAnalysis('BoundingBoxOutputPort',true,... 'AreaOutputPort',true,'CentroidOutputPort',true,... 'MinimumBlobArea',400);
[areas, centroids, bboxes] = obj.blobAnalyser.step( video_frame );
答案 0 :(得分:2)
您正在阅读rgb视频,但blobAnalyser仅支持二进制图像(黑白)。使用im2bw
进行转换。