Можно использовать морфологическое открытие, чтобы удалить маленькие объекты из изображения при сохранении формы и размера больших объектов в изображении.
В этом примере вы используете морфологическое открытие на изображении печатной платы, чтобы удалить все линии схемы из изображения. Выходное изображение содержит только прямоугольные формы микрочипов.
Можно использовать 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)
strel
| imopen
| imerode
| imdilate
| imclose