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

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

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

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

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

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

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

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

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

Считайте изображение и отобразите его.

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

Примените и детекторы ребра Собеля и Кэнни к изображению и отобразите их для сравнения.

BW1 = edge(I,'sobel');
BW2 = edge(I,'canny');
figure;
imshowpair(BW1,BW2,'montage')
title('Sobel Filter                                   Canny Filter');