2

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

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

在此处输入图像描述

4

2 回答 2

4

您可以使用bwareaopen

bwareaopen(A, P)

P这会从二值图像中删除所有像素少于像素的对象A

于 2013-07-02T15:31:18.240 回答
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
于 2013-07-02T15:27:47.623 回答