Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РК_19_03_2008.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.57 Mб
Скачать

Особливості алгоритму Лапласа для виділення країв

Метод Лапласа використовує маску згортки розмірністю 5x5 для апроксимації другої похідної на відміну від алгоритму Собеля, який знаходить апроксимований градієнт зображення. Але замість двох матриць 3x3, що використовуються в алгоритмі Собеля для напрямків x та y, алгоритм Лапласа використовує одну матрицю 5x5 для знаходження приблизного значення другої похідної в обох напрямках. Проте, оскільки такі маски апроксимують другу похідну зображення, вони є дуже чутливими до завад (шуму). Маска згортки по Лапласу показана нижче:

.

Недоліки алгоритму Собеля

Таких недоліків декілька. По-перше, алгоритм є дуже чутливим до шуму на зображенні у той самий час, як більшість реальних зображень має шум. При використанні цього алгоритму шуми визначаються як додаткові краї (рис. 4.13).

Рис. 4.13. Виділення країв для зображення з шумами

Крім того, якщо уважно подивитись на зображення, то можна помітити, що краї виділяються дуже товстими. Це відбувається за декількох причин, одна з яких така: якщо край має товщину в один піксель, то алгоритм Собеля потовщує його, тому що вважає, що існує два послідовних переходу інтенсивності зображення(білий-чорний та чорний білий).

Порядок виконання завдання

1. Рекомендується попередньо розібратися з наведеними теоретичними відомостями.

2. Відпрацюйте приклад 1. Результати (число Ейлера та скориговану програму для його визначення, площу об’єкта, обчислену функцією bwarea та обчислену самостійно написаною програмою) занесіть у звіт. Також у звіт має бути занесений лістинг програми в Matlab, що обчислює площу об’єкта.

Приклад 1. Для файлу example1.tif (рис. 4.14) визначте число Ейлера.

Р

Рис. 4.14. Об’єкт з одним отвором

озв’язок.
Рекомендується набрати та запустити наведений нижче лістинг програми в Matlab з метою набуття навичок практичного розв’язання представленої типової задачі.

%спочатку файл example1.tif потрібно

%помістити у пам’ять Matlab як змінну BW

BW = imread('example1.tif')

%давайте покажемо цей файл у вікні Matlab

imshow(BW);

%тепер можна обчислити число Ейлера

%з допомогою Matlab функції bweuler

e=bweuler(BW)

%результат має бути занесений у звіт з відповідною

%корекцією існуючого лістингу для того, щоб отримати правильну %відповідь = 0

3. Відпрацюйте приклад 2. Результати (положення та орієнтацію об’єкта) занесіть у звіт.

Приклад 2. Для файлу example1.tif (рис. 4.14) необхідно знайти площу об’єкту чорного кольору.

Розв’язок. Для розв’язання вказаної задачі додайте до попередньої програми нову Matlab функцію bwarea.

%визначення площі об’єкту для бінарного зображення

S=bwarea(BW)

% результат має бути занесений у звіт

% Необхідно також визначити площу об’єкта для того самого файлу, %проте не використовуючи функцію bwarea.

ПІДКАЗКА: Використайте вираз (4.8) для створення нового лістингу у Matlab. Програма обов’язково буде мати два цикли з індексами i та j, а розмірність матриці BW може бути визначена з допомогою Matlab функції size.

4. Відпрацюйте приклад 3. Результати занесіть у звіт.