- 1. Обрада слике помоћу прозора МАТЛАБ Едитор
- 2. Обрада слике помоћу МАТЛАБ ГУИ
- Израда графичког корисничког интерфејса МАТЛАБ за обраду слика
- МАТЛАБ ГУИ код за обраду слика
- Покрените МАТЛАБ ГУИ код за обраду слика
Замислите да усмерите камеру на неки објекат и она вам каже име тог објекта, да, Гоогле Ленс на Андроид паметним телефонима ради исту ствар користећи Обраду слике. Ово даје рачунару визију да детектује и препозна ствари и предузме одговарајуће мере. Обрада слика има пуно апликација попут откривања и препознавања лица, отиска палца, проширене стварности, ОЦР-а, скенирања бар-кода и многих других. На располагању је много софтвера за обраду слика, међу којима је МАТЛАБ најприкладнији за почетак.
МАТЛАБ може да изврши много операција обраде слика унапред, али за почетак рада са обрадом слика у МАТЛАБ-у, овде ћемо објаснити неке основне операције попут РГБ-а у сиво, ротирање слике, бинарну конверзију итд. Можете даље да правите аутоматизоване програме за уклањање шума, слику јасноћа, филтрирање помоћу функција објашњених у овом упутству.
Пре него што наставите даље, ако сте нови у МАТЛАБ-у, можете да погледате наше претходне МАТЛАБ-ове водиче за боље разумевање:
- Први кораци са МАТЛАБ-ом: Кратки увод
- Повезивање Ардуина са МАТЛАБ-ом - трепћућа ЛЕД диода
- Управљање једносмерним мотором помоћу МАТЛАБ-а и Ардуина
- Управљање корачним мотором помоћу МАТЛАБ-а и Ардуина
- Како поставити графикон температуре у реалном времену помоћу МАТЛАБ-а
У МАТЛАБ-у, као и увек, постоје два начина за извођење било ког алгоритма за обраду слика, један је директним уносом команде у прозор уређивача / наредби, а други стварањем ГУИ-ја за исти. Овде ћемо вам показати обе методе за обављање основних операција обраде слика у МАТЛАБ-у.
1. Обрада слике помоћу прозора МАТЛАБ Едитор
Сада ћемо у прозор уређивача написати код за обављање неких основних операција обраде слика. Да бисте се упознали са основном терминологијом која се користи у МАТЛАБ-у, следите везу. Копирајте и налепите доњи код у прозор уређивача, а = непрочитано ('Ф: \ сажетак круга \ обрада слике помоћу матлаб \ цамерман.јпг'); подзаплет (2,3,1); имсхов (а); б = ргб2граи (а); подзаплет (2,3,2); имсхов (б); ц = им2бв (а); подзаплет (2,3,3); имсхов (ц); д = неприлагођено (б); подзаплет (2,3,4); имсхов (д); е = а; е = ргб2граи (е); подзаплет (2,3,5); имхист (е); имфинфо ('Ф: \ дигест круга \ обрада слике помоћу матлаб \ беард-ман.јпг') = величина (а) % мапа боја ('пролеће')
У променљиву 'а' увозимо слику помоћу наредбе имреад ('име датотеке'), а затим правимо цртеж од '2' реда и '3' колоне помоћу подплота (ред, колона, позиција) и приказујемо увезену слику на позицији ' 1 '. Да бисмо приказали слику, користимо наредбу имсхов ('име датотеке') .
Испод је неколико наредби за извршавање неке основне обраде на постављеној слици:
- У променљивој 'б' претварамо РГБ слику у слику интензитета сивих тонова помоћу команде ргб2граи ('име датотеке') и приказујемо је у графикону на позицији '2'.
- У променљивој 'ц' претварамо слику у бинарну слику или можете да кажете у формату '0' (црно) и '1' (бело) помоћу команде им2бв ('име датотеке') и приказујемо је у цртежу на позиција '3'.
- У променљивој 'д' прилагођавамо или мапирамо вредности интензитета слике у сивим тоновима помоћу наредбе имадјуст ('име датотеке') и приказујемо је у графикону на положају '4'.
- У променљивој 'е' цртамо хистограм слике у сивим тоновима помоћу команде имхист ('име датотеке') и приказујемо га у графикону на положају '5'. За цртање хистограма увек морате претворити слику у сиве тонове и тада ћете моћи да видите хистограм те графичке датотеке.
- Наредба Имфинфо („име датотеке са локацијом“) користи се за приказ информација о графичкој датотеци.
- наредба = сизе ('филенаме') користи се за приказ величине и равни равни одређене графичке датотеке.
- мапама боја ('пролеће') користи се за промену типа мапе боја графичке датотеке. Овде сам у свом коду ову команду поставио као коментар, али можете је користити уклањањем знака процента. Постоје многе врсте боја у МАТЛАБ-у попут Јет, ХСВ, Хот, Цоол, Суммер, Аутумн, Винтер, Греи, Боне, Цоппер, Пинк, Линес и Спринг.
Као и ове, у МАТЛАБ-у постоји низ наредби које се могу користити за извршавање различитих задатака, функције за обраду слика у МАТЛАБ-у можете проверити пратећи везу.
2. Обрада слике помоћу МАТЛАБ ГУИ
Израда графичког корисничког интерфејса МАТЛАБ за обраду слика
За изградњу ГУИ-а (графичког корисничког интерфејса) за обраду слика покрените ГУИ тако што ћете откуцати наредбу у наредбеном прозору .
Водич
Отвориће се искачући прозор, а затим одаберите нови празан ГУИ као што је приказано на слици испод,
Сада морамо одабрати број тастера (сваки тастер ће извршити другачији задатак) и једну осу за приказ слике.
Да бисте променили величину или променили облик тастера или осе, само кликните на њега и моћи ћете да превучете углове дугмета. Двоструким кликом на било који од њих моћи ћете да промените боју, низ, ознаку и друге опције тог одређеног дугмета. Након прилагођавања изгледаће овако
Дугмад можете прилагодити према свом избору. Када ово сачувате, у прозору уређивача МАТЛАБ- а се генерише код. Уредите генерисани код да бисте поставили задатак за различите тастере. Испод смо уредили МАТЛАБ код.
МАТЛАБ ГУИ код за обраду слика
Комплетни МАТЛАБ код за обраду слика помоћу МАТЛАБ ГУИ- а дат је на крају овог пројекта. Даље, овде укључујемо ГУИ датотеку (.фиг) и датотеку кода (.м) за преузимање, помоћу којих можете прилагодити дугмад или величину осе према вашим захтевима. Уређивали смо генерисани код како је објашњено у наставку.
У функцији „уплоадимаге“ , копирајте и налепите доњи код да бисте датотеку уметнули са рачунара. Овде се наредба уигетфиле ('тип екстензије слике') користи за увоз слике у МАТЛАБ ГУИ. Прочитајте ту датотеку помоћу наредбе имреад (), а затим је прикажите командом имсхов () на акес1 помоћу осе (хандлес.акес1) . Сада, наредбом сетаппдата (), сачувајте променљиву у ГУИ-у, тако да ће променљива бити доступна једном делу ГУИ-а другом делу ГУИ-а.
а = уигетфиле ('. јпг') а = непрочитано (а); секире (дршке.секи1); имсхов (а); сетаппдата (0, 'а', а)
Сада ћете у свакој функцији видети наредбу гетаппдата () која се користи за преузимање података који се чувају помоћу сетаппдата () у ГУИ-у.
Овде ћемо објаснити осам најчешће коришћених функција у обради слика
С. Но. |
Команда |
Име дугмета |
Задатак који треба извршити |
1. |
уигетфиле () |
Учитај слику |
Кликните да бисте увезли слику са диска |
2. |
ргб2граи () |
РГБ у Греи |
Кликните да бисте претворили РГБ слику у сиве тонове |
3. |
им2бв () |
Претвори у бинарну слику |
Кликните да бисте слику претворили у бинарну |
4. |
- |
РЕСЕТОВАТИ |
Кликните да бисте ресетовали слику као оригиналну |
5. |
имхист () |
Хистограм |
Кликните да бисте видели хистограм слике |
6. |
неизвршено () |
Допуна слике |
Кликните да бисте проверили слику комплемента |
7. |
ивица (назив датотеке, метода) |
Детекција ивице |
Кликните да бисте открили ивице на слици |
8. |
имротирати (име датотеке, угао) |
Ротирају у смеру казаљке на сату |
Кликните да бисте ротирали слику у смеру казаљке на сату |
9. |
имротирати (име датотеке, угао) |
Ротирајте у смеру супротном од кретања казаљке на сату |
Кликните да бисте ротирали слику у смеру кретања казаљке на сату |
1. Претворите РГБ слику у сиве тонове
У функцији 'ргб2граи' копирајте и налепите доњи код да бисте претворили РГБ слику у сиве боје помоћу команде ргб2граи () .
а = гетаппдата (0, 'а'); аграи = ргб2граи (а); секире (дршке.секи1); имсхов (аграи);
2. Претвори у бинарну слику
У функцији 'им2бв' копирајте и налепите доњи код да бисте слику претворили у бинарну слику или можете да кажете у формату '0' (црно) и '1' (бело) помоћу команде им2бв () .
а = гетаппдата (0, 'а'); абв = им2бв (а); секире (дршке.секи1); имсхов (абв);
3. Вратите на оригиналну слику
У функцији „ресет“ копирајте и налепите доњи код да бисте ресетовали уређену слику у оригиналну слику.
а = гетаппдата (0, 'а'); секире (дршке.секи1); имсхов (а);
4. Графички приказ хистограма
У функцији 'хистограм' , копирајте и залепите доњи код да бисте исцртали хистограм слике у сивим тоновима помоћу команде имхист ('име датотеке') и приказали га у на акес1 . За цртање хистограма увек морате претворити слику у сиве тонове и тада ћете моћи да видите хистограм те графичке датотеке.
а = гетаппдата (0, 'а'); ахист = а; ахист = ргб2граи (ахист); секире (дршке.секи1); имхист (ахист);
5. Претвори у слику комплемента
У функцији 'цомплементимаге' копирајте и налепите доњи код да бисте видели комплемент уметнуте графичке датотеке помоћу наредбе имцомплемент () .
а = гетаппдата (0, 'а'); ацомп = а; ацомп = неиспуњење (ацомп); секире (дршке.секи1); имсхов (ацомп);
6. Откривање ивица методом Цанни
У функцији 'едге' , копирајте и налепите доњи код да бисте открили и пронашли ивице на сивој скали помоћу команде едге ('име датотеке', 'метода') . Уместо методе можете да бирате између ове три, Цанни, Превитт и монтажа . За откривање ивица користимо Цанни методу. Такође не можете да детектујете ивицу директно са оригиналне слике, прво је морате претворити у сиве тонове, а затим ћете моћи детектовати ивице.
а = гетаппдата (0, 'а'); аедге = а; аедге = ргб2граи (аедге); аедге = едге (аедге , 'Цанни') ' осе (хандлес.акес1); имсхов (ивица);
7. Ротирајте слику у смеру казаљке на сату
У функцији 'у смеру казаљке на сату , копирајте и налепите доњи код да бисте ротирали слику у смеру казаљке на сату помоћу наредбе имротате (име датотеке,' англе ')
а = гетаппдата (0, 'а'); ацлоцк = а; ацлоцк = имротирати (ацлоцк, 270); секире (дршке.секи1); имсхов (ацлоцк);
8. Ротирајте слику у смеру кретања казаљке на сату
У функцији „супротно од кретања казаљке на сату“ копирајте и налепите доњи код да бисте ротирали слику у смеру супротном од кретања казаљке на сату помоћу команде имротате (име датотеке, „англе“)
а = гетаппдата (0, 'а'); ацлоцк = а; ацлоцк = имротирати (ацлоцк, 90); секире (дршке.секи1); имсхов (ацлоцк);
Покрените МАТЛАБ ГУИ код за обраду слика
Сада кликните на дугме 'РУН' да бисте покренули уређени код у.м датотеци
МАТЛАБ-у ће требати неколико секунди да одговори, не кликните на било које ГУИ дугме док МАТЛАБ у доњем левом углу не прикаже поруку заузетости, као што је приказано доле,
Када је све спремно, увезите слику са рачунара кликом на дугме „Отпреми слику“. Сада ћете моћи претворити или ротирати слику кликом на било које дугме у складу с тим. Испод табеле приказат ће вам задатак који извршавамо кликом на било које одређено дугме:
Резултат кликом на свако дугме даће приказан доле,
Комплетан рад сваког дугмета приказан је у видео снимку испод.
Можете чак и да направите напредни ниво обраде слика помоћу Оквира за обраду слика који можете купити на службеној страници МАТХВОРКС, а неки од напредних операција наведени су у наставку:
- Геометријске операције
- Блок операције
- Линеарно филтрирање и дизајн филтера
- Трансформише
- Анализа и побољшање слике
- Бинарне операције слика