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