Втор колоквиум part 1 Flashcards
Што означува Otsu’s binarization?
Да речеме дека имаме bimodal слика (хистограмот на сликата е со два пика). На таа слика може да ја земеме средината на двата пика поединечно како thresh value. Тоа е бинаризацијата на Otsu.
Како се реализира Otsu’s binarization in opencv?
cv2.threshold(img, 0, 255, cv2.THRESH_BINARY/../.. + cv2.THRESH_OTSU).
arg1: source image
arg2: threshold value e секогаш 0
arg3: било која вредност е соодветна според нас
arg4: обичен threshold + Otsu’s threshold
Колку параметри враќа threshold-от со Otsu методот?
два параметри: retValue, thresh
retValue: оптималната threshold вредност (доколку не се користел Otsu’s method, retValue == threshold value)
thresh: threshold-ираната слика
Кога е погодно да се користи locally adaptive thresholding?
Кога во сликите имаат различни осветлувања во некои области, т.е. изразени контури.
Што прави алгоритмот на locally adaptive thresholding?
Алгоритмот пресметува thresholding на мали региони во сликата. Во овој случај добиваме различни thresholds за различни региони на сликата
Колку влезни и излезни параметри има cv2.adaptiveThreshold()?
Влезни = 6
arg1 = source img arg2 = max вредност на threshold arg3 = cv2. ADAPTIVE_THRESH_MEAN_C / cv2. ADAPTIVE_THRESH_GAUSSIAN_C arg4 = обична threshold вредност arg5 = големината на соседството [прозорецот] arg6 = constant
Кои се двата основни морфолошки оператори?
Erosion and Dilation
Кои се варијациите на ерозија и дилатација
Opening, Closing, Gradient
Што претставува ерозија а што дилатација?
Ерозија ги намалува објектите а ја зголемува позадината.
Дилатација ги зголемува објектите а ја намалува позадината.
Како функционира алгоритмот на ерозија?
Кернелот се лизга низ сликата, Пиксел во оригиналната слика ќе се смета за 1 ако сите пиксели под кернелот се 1. Инаку сликата е eroded, т.е. пикселите се земаат како 0.
Која opencv функција ја користеме за да направеме ерозија?
cv2.erode(img, kernel, iterations = x)
каде што претходно креираме kernel со големина по наша желба
Како функционира алгоритмот на дилатација?
Кернелот се лизга низ сликата. Пикселот во сликата е 1 доколку барем 1 пиксел под кернелот е 1.
Која opencv функција ја користеме за да направеме дилатација?
cv2.dilation(img, kernel, iterations = x)
каде што претходно креираме kernel со големина по наша желба
Што се случува ако искористеме заедно и ерозија и дилатација?
Се отстранува шум. Процесот е, ерозијата ги остранува белите шумови. Но, бидејќи истовремено го намалува и објектот, користеме на крај дилатација.
На колку начини може да се креира kernel и кои се тие?
2 начини:
1) np.ones((5,5), np.uint8)
2) cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5,5))
//наместо MORPH_ELIPSE може да имаме и MORPH_RECT, или MORPH_CROSS