Удаление небольших фрагментов меток на изображении

Я новичок в MATLAB и в обработке изображений, я пытаюсь найти человека кадр за кадром. до сих пор я помечал обрезанное изображение (обрезано с помощью PeopleDetector ) вот так, теперь, если я найду точное местоположение человека, например, то есть в каком месте пикселя «1» начинается и заканчивается (я знаю, что это неправильная логика).

Все, что я хочу, это удалить маленькие кусочки белых пикселей с правой стороны человека. Я не знаю, как это сделать. пожалуйста, предложите мне.

введите здесь описание изображения


person Muaz Usmani    schedule 02.07.2013    source источник


Ответы (2)


Вы можете использовать bwareaopen:

bwareaopen(A, P)

Это удаляет все объекты, имеющие менее P пикселей из бинарного изображения A.

person Eitan T    schedule 02.07.2013

используйте 1_

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