Можно использовать морфологическое отверстие, чтобы удалить небольшие предметы из изображения с сохранением формы и размера больших объектов в изображении.
В этом примере вы используете морфологическое открытие на изображении печатной платы, чтобы удалить все линии цепи из изображения. Выходное изображение содержит только прямоугольные формы микрочипов.
Можно использовать imopen
функция для выполнения эрозии и расширения за одну стадию.
Прочтите изображение в рабочую область и отобразите его.
BW1 = imread('circbw.tif');
figure
imshow(BW1)
Создайте элемент структурирования. Элемент структурирования должен быть достаточно большим, чтобы удалить линии, когда вы размываете изображение, но недостаточно большим, чтобы удалить прямоугольники. Он должен состоять из всех 1
s, поэтому он удаляет все, кроме больших смежных закрашенных фигур пикселей переднего плана.
SE = strel('rectangle',[40 30]);
Откройте изображение.
BW2 = imopen(BW1, SE); imshow(BW2);
Можно также выполнять эрозию и расширение последовательно.
Размыть изображение с помощью элемента структурирования. Это удаляет все линии, но также сжимает прямоугольники.
BW3 = imerode(BW1,SE); imshow(BW3)
Чтобы восстановить прямоугольники до их исходных размеров, расширьте эродированное изображение с помощью того же элемента структурирования, SE
.
BW4 = imdilate(BW3,SE); imshow(BW4)
При последовательном выполнении операций у вас есть гибкость в изменении элемента структурирования. Создайте другой элемент структурирования и расширьте эродированное изображение с помощью нового элемента структурирования.
SE = strel('diamond',15);
BW5 = imdilate(BW3,SE);
imshow(BW5)
imclose
| imdilate
| imerode
| imopen
| strel