Riešenia z cvičení – GITLAB
7.12.2022 – Python kód
Úloha:
- Z google street view zoberte dva obrázky, ktoré majú čiastočné prekrytie
- Na obrázkoch nájdite features pomocou SIFT (a vykreslite)
- Nájdite zhodu medzi features (a vizualizujte)
- Nájdite homografiu pre pravý obrázok a aplikujte transformáciu, ktorá spojí obrázky do panorámy.
23.11.2022
GrabCut, K-means
16.11.2022
samostatná práca – kontúry, clustering, grabcut
9.11.2022 – python kód
Úloha č. 1:
Na vhodných obrázkoch preskúmajte fungovanie Hough transformácie.
- Hough line transform – aký je praktický rozdiel medzi metódami HoughLines a HoughLinesP? Koľko čiar nájde transformácia na obrázku?
- Hough circle transform – na aké typy obrázkov je vhodné použiť túto transformáciu?
Úloha č. 2:
Na vhodných obrázkoch preskúmajte fungovanie detekcie rohov.
Ako sa líši výstup pri aplikovaní týchto dvoch metód? Shi-Tomasi je (vraj) vhodnejší pre trackovanie – porovnajte výstup oboch metód na niekoľkých snímkoch videa.
2.11.2022 – cvičenie zrušené
26.10.2022 – python kód (Fourier, transformácie)
Úloha č. 1:
- Stiahnite si kód použitia fourierovej transformácie na odstránenie periodického šumu
- Vyskúšajte s vlastnými obrázkami (odporúčam googliť periodic noise)
Úloha č. 2:
- Zoberte si dva obrázky – jeden portrét nejakej osoby a druhý nejaký priestor s čistou plochou (stena budovy, bilboard, obrazovka…).
- Manuálne nájdite 4 body – rohy danej plochy
- Použite perspective transformáciu na prispôsobenie portrétu na rozmer danej plochy
- Vytvorte masku, pomocou ktorej v originálnom obrázku vytmavíte danú plochu
- Spojte obrázky transformovaného portrétu a priestoru s vytmavenou plochou
- (voliteľne) Upravte kód tak, aby sa body evidovali pomocou kliknutia myšou.
19.10.2022 – python kód (Canny, LSD)
Úloha č. 1:
- Vyskúšajte Cannyho detektor na nájdenie hrán v obrázku.
- V opencv pridajte trackbar na interaktívnu zmenu parametrov – prahov pri detekcii hrán.
- Skúste nájsť ideálnu hodnotu prahov pre konkrétny obrázok
Úloha č. 2:
- Aplikujte Line Segment Detector algoritmus a (cez debug) pozorujte výstup
- Vykreslite čiary do prázdneho obrázka (čierny resp. biely a farebné čiary)
- Numpy výsledok poľa čiar prekonvertujte do Pandas DataFrame
- Do DataFrame pridajte stĺpec s hodnotou dĺžky čiary
- Odfiltrujte čiary, aby zostali len dlhé (dlhšie ako zadaný počet pixelov)
- Vykreslite len dlhé čiary
Pozn.: Posledné dve podúlohy neboli robené na cvičení, ale sú doplnené v kóde.
12.10.2022 – python kód
Úloha č. 1:
- Pripomeňte si, čo je Image kernel.
- Pripravte si obrázok, na ktorom si vyskúšate rôzne filtre.
- Vyskúšajte blur, gaussianBlur a medianBlur
- Pridajte do obrázka salt & pepper šum a aplikujte filtrovanie.
- Aplikujte vlastný kernel (metóda filter2d) – odporúčané sharpen, edge.
- Pridajte do obrázka gaussovský šum a pokúste sa odstrániť ho.
5.10.2022 – python kód
Úloha č. 1:
- Na vybranom šedotónovom obrázku si vyskúšať vykreslenie histogramu.
- Vyrovnať histogram a vykresliť výsledný obrázok aj histogram. Vhodne pri tom využiť funkcie.
- Prehrať video, kde každá snímka bude mať upravený obrázok vyrovnaním histogramu.
Úloha č. 2:
- Vybrať si obrázok nejakého textu (prípadne iný vhodný obrázok).
- Vytvoriť šedotónový (cvtColor) a následne binárny obrázok (thresholding)
- Aplikovať vybrané metódy morfológie
- Práca s videom v opencv
- Vyrovnávanie (ekvalizácia) histogramov
- Thresholding – ako zo šedotónového obrázka získať binárny
- Matematická morfológia – dilatácia, erózia a ďalšie v opencv
28.9.2022 – python kód
Ukladanie obrázkov do súboru, vykreslenie histogramu, binárna maska.
21.9.2022 – python kód
Načítanie obrázka, zobrazenie cez OpenCV a Matplotlib, úprava poľa/obrázka.
Prečo používa OpenCV BGR formát
Dokumentácia: