Kontúr
Az OpenCV lehetőséget biztosít (pl. szegmentálással előállított) bináris képeken az objektumok körvonalának meghatározására, illetve a kontúrok képre rajzolására. Ha szürkeárnyalatos vagy színes képünk van, akkor a bináris bemenet előállításához szükséges előzetesen küszöbölést vagy (bináris) szegmentálást végezni a képen. Ha ezt nem tesszük, akkor hibaüzenetet nem kapunk, viszont a szürkeárnyalatos bemenetet binárisként kezeli az OpenCV: 0: háttérpont, >0: objektumpont.
A bináris képek megjelenítése, és a velük való maszkolási lehetőségek könnyű elérése miatt a jegyzet példáiban a 255 (fehér) intenzitásértéket használjuk az objektumpontokra.
Kontúrpontok azok az objektumpontok lesznek, amelyeknek van háttérpont szomszédja. (Az OpenCV dokumentáció nem részletezi, milyen szomszédsági relációt vesz figyelembe itt.)
Bemeneti bináris kép (contour_test_2.png) | Detektált kontúrok (rárajzolt színes vonalak) |
![]() |
![]() |
Figyeljük meg az alábiakat:
- Bizonyos kontúrok másokat is magukban foglalnak: a fenti példában vörös a zöldet, a kék a sárgát és a lilát, a sárga a lilát. Az OpenCV arra is képes, hogy ezt a hierarchia információt is biztosítsa a számunkra, ha fel szeretnénk használni.
- Az is látható, hogy egy összefüggő objektum komponensnek pontosan egy külső kontúrja van, míg az üregeihez tartozó belső kontúrokból annyi, ahány üreg van (vagyis akár egy sem). A példában a vörös, a kék és a lila kontúrok külsők, míg a zöld és a sárga belsők.