- •Міністерство освіти і науки україни
- •Лабораторна робота №1
- •Теоретична частина
- •Imread Зчитування зображення із файлу
- •Iptsetpref Установка глобальних змінних ipt
- •Imshow Висновок зображення на екран
- •Im2bw Бінаризація відсіканням по порогу яскравості
- •Imhist Побудова гістограми
- •Imadjust Контрастування з гамма - корекцією
- •Лабораторна робота №2
- •Лабораторна робота № 3
- •Теоретична частина
- •Imnoise Додавання шуму
- •Лабораторна робота № 4
- •Теоретичне введення
- •Im2bw Бінаризація відсіченням по порогу яскравості
- •Лабораторна робота № 5
- •Теоретичне введення
- •Imfeature Обчислення ознак об'єктів
- •Перелік літератури
Imhist Побудова гістограми
Синтаксис:
imhist ( I, n )
imhist ( BW, n )
imhist ( X, map )
[ h, cx ] = imhist ( I, n )
[ h, cx ] = imhist ( BW, n )
[ h, cx ] = imhist ( X, map )
Опис:
Функції imhist ( I, n ) і imhist ( BW, n ) в поточному вікні будують гістограми яскравості пікселів відповідно напівтонового і бінарного зображень. Гістограма складається з n стовпців. Значення n при виклику функції можна не вказувати, в цьому випадку будуть використані значення за замовчуванням;
n = 256 для напівтонового зображення і n = 2 для бінарного зображення. Під малюнком гістограми виводиться шкала яскравості.
Функція imhist ( X, map ) в поточному вікні будує гістограму індексів пікселів палітрового зображення X. Під малюнком гістограми виводиться палітра mар.
Функції [ h, cx ] = imhist (...) повертають вектор гістограми h і вектор положення центрів стовпців гістограми сх на осі яркостей ( для напівтонових і бінарних зображень) або на осі індексів (для палітрових зображень), що дозволяє робити подальшу обробку гістограми h або, наприклад, побудувати огинаючу гістограму за допомогою функції plot ( cx, h ).
Приклад:
Для напівтонового зображення I ( рис. 2.11, в ) будується гістограма яскравості пікселів ( рис. 2.17. а ) і огинає гістограми в логарифмічному масштабі ( рис. 2,17. б).
% ехаmр17.m
% Приклад демонструє побудову гістограми зображення.
% Читання зображення з файлу.
I = imread ( ' rs.tif ' );
% Побудова гістограми яскравості пікселів і виведення її на екран.
imhist ( I );
% Отримання гістограми в логарифмічному масштабі
% і виведення її на екран,
[ h, cx ] = imhist ( I );
h = log10 ( h );
figure, plot ( cx, h );
Imadjust Контрастування з гамма - корекцією
Синтаксис:
ID = imadjust ( IS, [ low high ], [ bottom top ], gamma )
newmap = imadjust ( map, [ low high ], [ bottom top ], gamma )
newmap = imadjust ( map, [ lR hR; lG hG; lB hB ], [ bR tR; bG tG; bB tB ). [ gR gG gB ] )
RGBD = imadjust ( RGBS, [ low high ], [ bottom top ], gamma )
RGBD = imadjust ( RGBS, [ lR hR; lG hG; lB hB ], [ bR tR; bG tG; bB tB ], [ gR gG gB ] )
Опис:
Функція ID = imadjust ( Is, [ low high ], [ bottom TOР ], gamma ) створить півтонове зображення ID шляхом контрастування вихідного напівтонового зображення IS. Значення яскравості в діапазоні [ low, high ] перетворюються на значення яскравості в діапазоні [ bottom, top ]. Значення яскравості, менші low, приймають значення bottom, а значення яскравості, більші ніж high, приймають значення top. Значення top, bottom, low, high повинні належати діапазону [0, 1 ]. Якщо в якості другого ( [ low high ] ) або третього ( [ bottom top ] ) параметрів передати порожній вектор [ ], то за замовчуванням буде використаний вектор [ 0,1 ]. За допомогою показника gamma можна додатково здійснювати перетворення, зване гамма - корекцією. Параметр gamma визначає форму кривої характеристики передачі рівнів яскравості. Якщо gamma менше 1, то характеристика передачі рівнів буде опуклою і результуюче зображення буде світліше, ніж початкове. Якщо gamma більше 1, то характеристика передачі рівнів буде увігнутою і результуюче зображення буде темніше, ніж початкове. За замовчуванням параметр gamma дорівнює 1, що відповідає лінійній характеристиці передачі рівнів і відсутності гамма - корекції. При виклику функції показник gamma можна опустити.
Характеристики передачі рівнів для різних значень gаmmа наведені на рис. 2.19.
Функція newmap = imadjusl ( map, [ low high ], [ bottom top ), gamma ) створює нову палітру newmap шляхом контрастування вихідної палітри mар. Перетворення здійснюється аналогічно перетворенню напівтонового зображення окремо для кожної з R - G -, В - складових. Діапазон перетворення інтенсивностей складових [ low high' і [ bottom top ], а також показник gamma задаються однаковими для всіх складових. Різні діапазони перетворення інтенсивностей і показник gammа для R -, G -, В - складових можна задати за допомогою функції newmap = imadjust ( map, [ lR hR; lG hG; lB hB ], [ bR tR; bG tG; bB tB ). [ gR gG gB ] ).
Функція RGBD = imadjust ( RGBS, [ low high ], [ bottom top ], gamma ) створює повнокольорове зображення RGBD шляхом контрастування вихідного повнокольорового зображення RGBS. Перетворення здійснюється аналогічно перетворенню напівтонового зображення окремо для кожної з R -, G -, В - складових. Діапазони перетворення інтенсивностей складових [ low high ] і [ bottom top ], а також показник gamma задаються однаковими для всіх складових. Різні діапазони перетворення інтенсивностей і показник gamma для R -, G -, В - складових можна задати за допомогою функції RGBD = imadjust ( RGBS, [ lR hR; lG hG; lB hB ], [ bR tR; bG tG; bB tB ], [ gR gG gB ]
Формат подання даних вихідного і результуючого зображень збігаються.
Приклад:
Півтонове зображення I читається з файлу і відображається на екрані ( рис.2.20. а ). Для аналізу діапазону яскравості вихідного зображення I будується гістограма яскравості пікселів за допомогою функції imhist ( I ) ( рис.2.20. б). За гістограмою видно, що пікселі зображення I мають яскравості в діапазоні [ 0; 180], зображення I недостатньо контрастне. Функція imadjust "розтягує "вихідний діапазон яскравості на діапазон від мінімально можливої яскравості до максимально можливої . Результатперетворення виводиться на екран у нове вікно ( мал. 2.20, д ). Гістограма яскравості пікселів результуючого зображення показана па рис. 2.20, тобто результуюче зображення контрастніше, ніж початкове.
% examp20.m
% Приклад демонструє контрастування зображення.
% Читання вихідного зображення і виведення його па екран.
I = imread ( ' valleydark.tif ' );
imshow ( I );
% Побудова гістограми вихідного зображення,
figure, imhist ( l );
% Контрастування вихідного зображення.
I = imadjust ( l, [ 0180 ] / 255, [ ], 1);
% Вивід перетвореного зображення на екран,
figure, imshow ( I );
% Вивід гістограми перетвореного зображення,
figure, imhist ( I );
Завдання: реалізувати усі наведені приклади, та дослідити описані функції