Обнаружение ребра

В изображении ребро является кривой, которая следует за путем быстрого изменения в интенсивности изображений. Ребра часто сопоставляются с контурами объектов в сцене. Обнаружение ребра используется, чтобы идентифицировать ребра в изображении.

Чтобы найти ребра, можно использовать edge функция. Эта функция ищет места в изображении, где интенсивность изменяется быстро, с помощью одного из этих двух критериев:

  • Места, где первая производная интенсивности больше в величине, чем некоторый порог

  • Места, где вторая производная интенсивности имеет нулевое пересечение

edge обеспечивает несколько производных средств оценки, каждое из которых реализует одно из этих определений. Для некоторых из этих средств оценки можно задать, должна ли операция быть чувствительна к горизонтальным ребрам, вертикальным ребрам или обоим. edge возвращает бинарное изображение, содержащее 1's, где ребра найдены и 0 в другом месте.

Самый мощный метод обнаружения ребра, что edge обеспечивает метод Кэнни. Метод Кэнни отличается от других методов обнаружения ребра, в которых он использует два различных порога (чтобы обнаружить сильные и слабые ребра) и включает слабые ребра в выход, только если они соединяются с сильными ребрами. Этот метод поэтому менее вероятен, чем другие быть затронутым шумом и другие, вероятно, чтобы обнаружить истинные слабые ребра.

Обнаружьте ребра в изображениях

В этом примере показано, как обнаружить ребра в изображении с помощью и детектора ребра Кэнни и детектора ребра Sobel.

Считайте изображение в рабочую область и отобразите его.

I = imread('coins.png');
imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

Примените детектор ребра Sobel к неотфильтрованному входному изображению. Затем примените детектор ребра Кэнни к неотфильтрованному входному изображению.

BW1 = edge(I,'sobel');
BW2 = edge(I,'canny');

Отобразите отфильтрованные изображения рядом друг с другом для сравнения.

tiledlayout(1,2)

nexttile
imshow(BW1)
title('Sobel Filter')

nexttile
imshow(BW2)
title('Canny Filter')

Figure contains 2 axes objects. Axes object 1 with title Sobel Filter contains an object of type image. Axes object 2 with title Canny Filter contains an object of type image.