1

我是MATLAB新的图像处理新手,我试图找到一个帧逐帧。到目前为止,我已经标记了裁剪后的图像(使用PeopleDetector裁剪),现在如果我找到人的确切位置,例如在哪个像素位置“1”开始和结束(我知道这是不正确的逻辑)。删除图像中的小块标签

我想要的只是删除人的右侧的白色像素的小块。我不知道该怎么做。请给我建议。

enter image description here

回答

4

您可以使用bwareaopen

bwareaopen(A, P) 

此删除具有从二值图像A少于P像素的所有对象。

3

使用regionprops

>> props = regionprops(bwlabel(mask, 4), 'Area', 'PixelIdxList'); 
>> smallRegions = [props(:).Area] < minNumPixels; % select the small regions 
>> mask([props(smallRegions).PixelIdxList ]) = 0; % reset small regions