Skip navigation

Jellemzőpontok leírása és megfeleltetése

Előismeret

A legtöbb népszerű jellemzőpont detektor (SIFT, SURF, ORB) nem csupán a kulcspont helyét jelöli ki, de a környezetük alapján egy-egy jellemzővektort is előállít minden kulcsponthoz. Ezek a jellemzővektorok ezen detektorok esetében többnyire forgás- és skálainvariánsak, ezért jól használhatóak "transzformált" képeken is ahol a transzformációt nem természetess úton hoztuk létre, például különböző nézőpontból fényképeztük ugyanazt a látványt.

Pontpárok keresése OpenCV-ben

Amikor két képen kijelöltük a jellemzőpontokat és meghatároztuk leíróikat, akkor megkereshetjük az összetartotozó pontpárokat. Ehhez a pontpárosító módszerek az OpenCV-ben is meg vannak valósítva.

Ilyen a BFMatcher osztály, amely egy brute-force párosító, vagyis az 1. kép minden jellemzőpontját megpróbálja párosítani a 2. kép minden jellemzőpontjával. Ez a megoldás természetesen meglehetősen számításigényes, és ennél gyorsabb párosítások is vannak. Fontos azonban megjegyezni, hogy minden párosítás vizsgálatánál a párosító kiszámol a leírók között egy távolságértéket és a legkisebb távolságértékű párosítások lesznek megtartva. Ez persze nem garantálja, hogy ténylegesen jó párosításokat kapunk.

Egy szofisztikáltabb megoldás a FLANN-alapú párosítás (FlannBasedMatcher osztály). Mindkettőre látunk példát a következőkben.