- •2013 Зміст
- •Завдання на розрахунково-графічну роботу Варіант № 9
- •Вихідні дані
- •Геометричні перетворення зображення
- •Аналіз зображення
- •Поліпшення зображення
- •Фільтрація зображення
- •Сегментація зображення
- •Усунення розмитості зображення за допомогою алгоритму сліпої деконволюції
- •Моделювання Blur та відновлення розмитого зображення
- •Імітація (Motion Blur) розмитості рухом та відновлення розмитого зображення
- •Лістинг
- •Висновки
- •Список використаних дджерел
Вихідні дані
Назва зображення |
Кут повороту |
Кількість точок на зображенні |
Маска фільтру |
Метод виділення |
Зашумлення функцією motion, LEN та THETA |
Параметр NSR |
4.jpg |
73 |
14 |
laplacian alpha=0.45 |
roberts |
27, 36 |
0.015 |
Геометричні перетворення зображення
До найбільш поширених функцій геометричних перетворень відноситься кодування зображень (imcrop), зміна розмірів (imresize) і поворот зображення (imrotate).
Суть кадрування полягає в тому, що функція imcrop дозволяє за допомогою миші в інтерактивному режимі вирізати частину зображення і помістити її в нове вікно перегляду.
Синтаксис:
L=imread(('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
imshow (L); %виведення на екран
imcrop; %кадрування зображення
Рис. 1.1. Оригінальне та кадрове зображення
Функція зміни розмірів зображення imresize дозволяє, використовуючи спеціальні методи інтерполяції, змінювати розмір будь-якого типу зображень.
Синтаксис:
L1=imresize(L,0.5) %зміна розмірів
imshow (L1); %виведення на екран
Рис. 1.2. Оригінальне та в 2 рази зменшене зображення
В пакеті Image Processing Toolbox існує функція imrotate, яка дозволяє здійснювати поворот зображення на заданий кут в градусах (в моєму завданні – 73о). Значення кута повороту можна задавати як цілими так і десятковими дробами, тобто частини кута (хвилини та секунди).
Синтаксис:
L1=imrotate(L,73,'bicubic'); %поворот на 73 градуси
figure,imshow(L1) %виведення на екран
Рис. 1.3. Оригінальне та повернене на 73 градуси зображення
Таким чином, наведені вище функції дозволяють повертати, вирізати частини, масштабувати, тобто працювати з цілим масивом зображення.
Аналіз зображення
Для роботи з окремими елементами зображень використовуються такі функції як imhist, impixel, mean2, corr2 та інші.
Однією з найбільш важливих характеристик є гістограма розподілу значень інтенсивностей пік селів зображення, яку можна побудувати за допомогою функції imhist (рис. 2.1.).
Синтаксис:
I=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
figure; imshow(I); %виведення на екран зображення
figure; imhist(I); %виведення на екран гістограми
Рис. 2.1. Оригінальне зображення та його гістограма
Досить часто при проведенні аналізу зображень виникає необхідність визначити значення інтенсивностей деяких пікселів. Для цього необхідно в інтерактивному режимі використовувати функцію impixel (рис. 2.2.).
Синтаксис:
Impixel
ans =
23 23 23
230 230 230
15 15 15
38 38 38
29 29 29
43 43 43
155 155 155
64 64 64
60 60 60
33 33 33
114 114 114
82 82 82
17 17 17
44 44 44
144 144 144
Рис. 2.2. Зображення із позначеними на ньому крапками інтенсивності
Поліпшення зображення
Серед вбудованих функцій, які реалізуються найбільш відомими методами поліпшення зображень, є наступні – histeq, imadjust та imfilter (fspecial).
Як вже зазначалося раніше, гістограма зображення є однією з найбільш інформативних характеристик. На основі аналізу гістограми можна судити про яскравість спотвореного зображення, тобто сказати про те, чи є зображення затемненим або засвітленим. Відомо, що в ідеальному випадку на цифровому зображенні в рівній кількості повинні бути присутні пік селі з усіма значеннями яскравостей, тобто гістограма повинна бути рівномірною. Перерозподіл яскравості пік селів на зображенні з метою отримання рівномірної гістограми виконує метод еквалізації, який в системі Matlab реалізовано за допомогою функції histeq (вирівнювання гістограми).
Синтаксис:
L=imread('C:\Documents and Settings\Всеволод\Рабочий стол\Picture4.jpg'); %завантаження зображення
figure, imshow(L); %виведення на екран зображення
L1=histeq(L); %вирівнювання гістограми
figure, imshow(L1); %виведення на екран
Досить часто при формуванні зображень не використовується весь діапазон значень інтенсивностей, що негативно відбивається на якості візуальних даних. Для корекції динамічного діапазону сформованих зображень використовується функція imadjust (контрастування з гамма-корегуванням).
Синтаксис:
L=imread(‘Picture8.jpg’);
figure,imshow(L); %виведення на екран зображення
L1=imadjust(L); %корекція динамічного діапазону зображення
figure,imshow(L1);
figure,imhist(L);
figure,imhist(L1)
Рис. 3.2. Оригінальне зображення,гістограма зображення
Рис. 3.3. Гамма-корегування за гістограмою