1

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

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

enter image description here

ответ

4

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

bwareaopen(A, P) 

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

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