Удалить небольшие куски меток на изображении
Я новичок в MATLAB также в области обработки изображений, я пытаюсь найти человека кадр за кадром. до сих пор я помечал обрезанное изображение (обрезанное с помощью PeopleDetector) следующим образом, теперь, если я нахожу точное местоположение человека, например, в каком месте пикселя "1" начинаются и заканчиваются (я знаю, что это неправильная логика).
Все, что я хочу, это удалить маленькие кусочки белых пикселей с правой стороны лица. Я не знаю, как это сделать. пожалуйста, предложите мне.
2 ответа
Решение
Ты можешь использовать bwareaopen
:
bwareaopen(A, P)
Это удаляет все объекты, которые имеют меньше, чем P
пикселей из двоичного изображения A
,
Использование regionprops
>> props = regionprops( bwlabel( mask, 4 ), 'Area', 'PixelIdxList' );
>> smallRegions = [props(:).Area] < minNumPixels; % select the small regions
>> mask( [props( smallRegions ).PixelIdxList ] ) = 0; % reset small regions