You are on page 1of 21

УНИВЕРЗИТЕТ „ГОЦЕ ДЕЛЧЕВ“

ФАКУЛТЕТ ЗА ИНФОРМАТИКА

Дигитална обработка на
слики во MatLab
Графички интерфејс во MatLab, Апликација
за детекција на пинг-понг топче, Апликација
за манипулација со слики

СЕМИНАРСКА ПО ПРЕДМЕТОТ ДИГИТАЛНА ОБРАБОТКА НА


СЛИКИ

Катедра: Интелигентни Веб Технологии

Драги Златковски
МЕНТОР: Доц. Д-р. Игор Стојановиќ
Бр. Индекс: 210107

Јули, 2013 - Штип


Содржина
ГРАДЕЊЕ НА ВИЗУЕЛНИ АПЛИКАЦИИ ВО MatLab .............................................................................. 3
MatLab апликација за детекција на пинг-понг топче ......................................................................... 7
Апликација за работа со слики користејќи техники за обработка на слики .................................. 11
Бинарна Форма на слика ................................................................................................................ 12
Црно Бела нијанса на слика ........................................................................................................... 12
Noise на слика со гаусова функција ............................................................................................... 13
Сепија на слика ................................................................................................................................ 13
Негатив (комплемент) на слика ..................................................................................................... 14
Edge и Sobel Edge на слика ............................................................................................................. 14
Вадење на контури од слика .......................................................................................................... 15
Приказ на сликата во Red, Green и Blue канали ........................................................................... 15
Креирање на сфера со користење на прочитана слика ............................................................... 15
Ефекти на слика ............................................................................................................................... 16
Исечок од слика............................................................................................................................... 16
Наоѓање на реални кругови во една слика ................................................................................... 17
Ротација на слика ............................................................................................................................ 17
Селекција на кожа од човеково тело и човеково тело ................................................................ 18
Одделување на границите на еден објект од затворени линии................................................. 18
Осветлување на слика и контраст .................................................................................................. 18
Замаглување и чистење на заматена слика (Blur, Deblur) ........................................................... 19
Bmorph() функција со промена на нејзините параметри ............................................................ 20
ГРАДЕЊЕ НА ВИЗУЕЛНИ АПЛИКАЦИИ ВО MatLab
За да се започне со градење на визуелни апликации во MatLab потребно е во Command
Window да се повика командата “guide”.

Потоа Ќе се отвори волшебник од каде потребно е да се избере Blank GUI (Default) и да се


избере ОК.

Ќе се отвори прозорец со работна околина.

Друг начин за започнување на визуелна апликација е преку стандардното мени: FILE->NEW-


>GUI со што ќе се отвори истиот прозорец. Доволно од прозорецот е да се одбере Blank GUI
(Default).
Површината со квадрати е работниот простор на апликацијата. Копчињата поставени од лева
страна претставуваат објекти за градење на апликацијата. Начинот на прегледа на алатките
може да се промени. Со избирање на команди од главното мени. File-> Preferences со што
може да се вклучи опцијата за приказ на имињата на компонентите.

Со што се добива следниот изглед на работната околина:


Со влечење на потребните форми во работната површина се креира визуелниот изглед. Откако
апликацијата ќе се тестира со одбирање на копчето Run Figure (Ctrl+T) тогаш се компајлира а во
датотеката ime_dat.m се пишува функционалноста на секоја компонента.

Откако ќе се одбере Run Figure веќе го гледаме визуелниот изглед и можеме да работиме во
него.

За поставување на својствата на компонентите се користи Property Inspector панелот кој се


активира на десен клик врз некоја од компонентите која сакаме да и доделиме некое својство.

Покрај компонентите кои ние можеме да ги додадеме, во MatLab постојат и додатни помошни
копчиња кои ја олеснуваат и обезбедуваат основната работа за еден прозорец. Доколку
сакаме можеме да ги активираме во Toolbar Editor со тоа што избираме кое копче сакаме да го
додадеме на врвот од нашиот визуелен прозорец.
Компоненти кои најчесто се користат при обработка на слики се: Push Button, Static Text, Axes,
Pop-Up Menu, Slider, но и сите останати во зависност од потребата.
MatLab апликација за детекција на пинг-понг топче
Со користење на концептот на заобленоста за откривање на кружни објекти, може да се
открие пинг-понг топка која се наоѓа во некоја фотографија.

Изглед на апликацијата пред да бидат извршени наредбите.

Откривањето на пинг-понг топчето во оваа апликација може да се проследи на два начини.


Едниот начин е со извршување на операциите за обработка на сликата чекор по чекор додека
другиот начин е да ја изврши целата операција во само еден чекор. И во двата случаи се
добива истиот резултат.

За да се следат операциите чекор по чекор се започнува со кликање на копчето “Вчитај


фотографија“, со тоа што откако ќе се прочита сликата таа се зачувува во променлива и се
прикажува во четирите Axes прозорци додека во малиот axes прозорец се прикажува
оригиналот и останува непроменет.
Со користење на копчињата поставени во горниот дел се прави процесирање на сликата чекор
по чекор со што резултатот за секое копче се добива соодветно во 4-те Axes.
Операции кои се извршуваат на копчињата се:

1. Прочитај слика - [path, user_cance]=imgetfile(); сликата зачувај ја во променлива


im=imread(path); потоа конвертирај ја сликата во double формат im=im2double(im);
2. Пред обработка на сликата
a. Конвертирај ја сликата од RGB во сиво. I=rgb2gray(Img);

b. Спроведување на median filter J = medfilt2(I,[3 3]);


c. Прилагодување на осветленоста и контрастот на сликата користење на
"imadjust 'функција. I2 = imadjust(J);

3. Наоѓање на прагот на сликата (Threshold) - Пиксел вредностите поголеми од вредноста


на прагот се конвертираат во еден или нула. Ib = I2> 0.9627;
За извршување на останатите операции за сликата се продолжува со одбирање на
копчињата кои се наоѓаат во панелот но мора да се извршуваат по редослед едно по
друго со што под секое копче се дава променува вредноста на текстот со текст која
функција ја има извршено копчето.

4. Етикирање на сликата (Labeling) –


a. Етикета на поврзани компоненти со употреба на функцијата "bwlabel"
[Label,total] = bwlabel(Ib,4);
b. Отстрани компоненти кои се помали во големина.
5. Наоѓање на својствата на сликата - Користејќи 'regionprops' функција, се наоѓа простор,
периметар, граничниот простор и centroid.
6. Метрика на кружност - Roundness=4*PI*Area/Perimeter.^2
7. Наоѓање на компоненти со максимална заоблена вредност на сите етикирани објекти
од сликата.
8. Прикажи ја откриената пинг-понг. Со користење на BoundingBox обележи ја топката со
правоаголник и означи го центарот на топката.

9. Прикажи извештај
a. Пронајди го радиусот употребувајќи Equidiameter добиен со користење на
"regionprops 'функција.
b. Прикажи радиус, површина, периметар и centroid на топката.
c. Прикажи Бинарна и оригинална слика на отсечената топка.

Апликација за работа со слики користејќи техники за обработка


на слики
Апликацијата е наменета за основни обработки на слики, конвертирање на слики во бинарни,
црно бели, додавање на филтри, ефекти на слика, заматување на слика, селектирање на
човекова кожа, наоѓање на реални кругови во слика, вадење на исечок од слика, осветлување
и затемнување на слика, ротација и други функционалности.

Откако ќе се прочита сликата од локалниот компјутер, таа се зачувува во глобална променлива


при што се прават неколку копии од сликата за понатамошно користење. Апликацијата опфаќа
повеќе операции а дел од нив се проследени со последователно извршување за да се добие
посакуваниот ефект. Исто така е претставена функцијата Bwmorph() за да се разгледа
различноста со користењето на сите параметри. За дел од фотографиите се прикажува
хистограм.

Бинарна Форма на слика


Конверзија на RGB слика во binary со imblack=im2bw(im);

Црно Бела нијанса на слика


Конверзија на RGB слика во Black&White (Црно Бела) со
imgray=(im(:,:,1)+im(:,:,2)+im(:,:,2))/3;
Noise на слика со гаусова функција

Гаусова имплементација за Noise филтер на слика - c=imnoise(g,'gaussian', 0.02);

Сепија на слика
Конверзија на RGB слика во сепија
Негатив (комплемент) на слика
Претворање на RGB слика во негатив (комплемент) - imblack=1-im;

Edge и Sobel Edge на слика


Сепарација на RGB слика во Edge - BW1 = edge(imblack,'prewitt');
BW2 = edge(imblack,'canny');
Вадење на контури од слика
Вадење на контури од сликата - con=imcontour(imblack,3);

Приказ на сликата во Red, Green и Blue канали

Креирање на сфера со користење на прочитана слика

Сфера Прочитана слика


Ефекти на слика

Исечок од слика
Наоѓање на реални кругови во една слика

Круговите поголеми од 0.95 ги зема за вистински кругови.

Ротација на слика

Ротирана слика
Селекција на кожа од човеково тело и човеково тело

Одделување на границите на еден објект од затворени линии

Осветлување на слика и контраст


Замаглување и чистење на заматена слика (Blur, Deblur)
Bmorph() функција со промена на нејзините параметри
Користена Литература

 Работна библиотека од MatLab


 http://www.mathworks.com/
 Digital Image Processing – Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins
 An In troduction to Digital Image Processing with Matlab - Alasdair McAndrew
 Image Processing Toolbox 6 - User’s Guide
 The Essential Guide To Image Processing - Al Bovik

You might also like