|
Video Processing Framework
|
#include <Img_MatchImg2.h>
Public Member Functions | |
| MatchImg2 (const AbstractData *parent=NULL, const SimpleData *parameters=NULL) | |
| virtual | ~MatchImg2 () |
| virtual MatchImg2 * | duplicate () |
| virtual int | processFrame () |
| virtual int | allocateResults () |
| virtual int | compareSURFDesc (int modelPtInd, int scenePtInd, double &featuresDistance) |
| virtual int | calcLocationDistance () |
| virtual int | filterModelPoints () |
| Filtriraj SURF tocke modela, ostanejo samo tiste znotraj maske. | |
| virtual int | findPairs () |
| Funkcija vzame dve mnozici SURF tock (in pripadajoce opise) iz dveh slik in najde ujemanja med tockami. | |
| virtual int | findTransformation (CvMat *homogMatrix=NULL) |
| virtual int | calcPointsDistance (CvPoint2D32f modelPt) |
| virtual int | calcPtDescrDifference (int modelPtInd) |
| Metoda iskanja najblizjih tock. | |
| virtual int | calcPredictedLocations (double dx=0.0, double dy=0.0, double scalex=1.0, double scaley=1.0) |
| virtual int | calcPtDistances (int modelPtInd, double maxLocationDist) |
| Za eno tocko izracunaj vse kriterije do vseh scene tock : oddaljenost, podobnost okolic. | |
| virtual int | calcPtSizes (int minSize=50, int maxSize=100) |
| Za eno tocko modela uredi vse tocke scene po velikosti ki so podobne modelni tocki. | |
| CvPoint2D32f | calcTransfCoords (CvPoint2D32f inputCoords, CvMat *hM) |
| Preracun koordinat s podano homografijo. | |
| virtual int | evalCurrentLoopLocation (float &deviationNorm) |
| Evaluacija trenutne lokacije v loopu, ki gre preko celotne slike. | |
| virtual int | findHomography2 (CvMat *homogMatrix, CvMat **mask=NULL) |
| Poisce homografijo iz tock. | |
| virtual int | findHomography3 (CvMat *homogMatrix, CvMat **mask) |
| Poisce homografijo iz outPairs parov tock - loop ki odstrani najbolj izstopajoce pare iz outPairs. | |
| virtual int | findHomography4 (CvMat *homogMatrix, CvMat **mask) |
| Ne zmanjsuje tudi image diference ! | |
| virtual int | findHomography5 (CvMat *homogMatrix, CvMat **mask) |
| virtual int | drawPairs () |
| Narise povezave med pari tock v outputImg. | |
| virtual int | drawHomographyImage (CvMat *homogMatrix, const IPLImage *imgP=NULL) |
| Narise transform modelne slike na scensko. | |
| virtual int | drawPointPredictedLocations (int selectedModelPt) |
| Vizualizacija predvidene lokacije, izbrane tocke ter mozni kandidati. | |
| virtual int | findTrueHomography () |
| Iskanje prave homografije z uporabo rocno markiranih tock. | |
| virtual int | calcHomographyEfficiency () |
| Izracun distanc med pravo homografijo (z uporabo rocno markiranih tock) ter zaznano homografijo (surf detekcija) | |
Static Public Member Functions | |
| static int | runTest (int testCase=0, const char *filen=NULL, void *params=NULL) |
| Testna metoda, alocira objekt in pozene vse na default podatkih. | |
| static int | testLocation () |
| static int | testLocation2 () |
| static int | testLocation3 () |
| Testiranje uporaberocno markiranih tock. | |
| static int | testLocation4 () |
| Testiranje uporaberocno markiranih tock. | |
| static int | testClouds () |
| Testiranje sat slik oblakov - Klemen. | |
| static int | testClouds2 () |
| Testiranje sat slik oblakov avtomatizacija, izpis podatkov - Klemen. | |
| static int | testClouds3 () |
| Testiranje sat slik oblakov avtomatizacija, izpis podatkov - Klemen. | |
| static int | testClouds4 () |
| Oblaki: generiranje trojk tock. | |
| static int | testClouds5Single () |
| 19.6.2012 | |
| static int | showAffineTransform (IplImage *image, IplImage *model, CvPoint2D32f *corners) |
| Transformiraj manjso sliko na vecjo - Affine transform. | |
Public Attributes | |
| IPLImage * | modelImage |
| Modelna slika. | |
| IPLImage * | sceneImage |
| Scenska slika. | |
| IPLImage * | modelMask |
| Opcija: Maska za modelno sliko, katere tocke upostevamo. | |
| IPLImage * | outHomographyImg |
| Slika homografije modelne slike na scenski. | |
| IPLImage * | outPairsImg |
| Vizualizacija izbrane tocke modela, mozni pari ter predvidena lokacija. | |
| TDSurfPairs * | outPairs |
| Seznam koncnih parov urejenih po ujemanju okolic. | |
| TDRect * | outPoints |
| Seznam koncnih tock za posamezni par (x,y - ptOrig.x, ptOrig.y ...... width,height - ptDest.x, ptDest.y ) | |
| int | outHomographyFound |
| Ce je bila prepoznana homografija. | |
| Array1D * | tDesc |
| zacasni array za racunanje s feature descriptions | |
| Array1D * | tLocIndex |
| Array1D * | tLocDist |
| Array1D * | tFiltModPts |
| Filtrirane (maska) tocke modela. | |
| Array1D * | tModPtsMask |
| Ali upostevamo to tocko modela: ali je znotraj maske (0,1) | |
| Array1D * | tPredModLoc |
| Predvidena lokacija modelnih tock v scene sliki: vrstica 0 so x, 1 y koordinate. | |
| Array1D * | tPtDist |
| Distance ene tocke modela do vseh scene tock. | |
| Array1D * | tPtSizes |
| Polje tock scenske slike urejenih po velikosti ki ustreza modelni sliki. | |
| Array1D * | tPairMask |
| Pari: maska, kateri ustrezajo homografiji. | |
| Array1D * | tCuPtScene |
| Array rocno markiranih tock scena. | |
| Array1D * | tCuPtModel |
| Array rocno markiranih tock model. | |
| Array1D * | tTransPoints |
| Array transformiranih tock z detektirano in pravo homografijo. | |
| TDSurfPairs * | tModelPairs |
| Pari za eno modelno tocko. | |
| TDSurfPairs * | tFinalModelPairs |
| Pari za vse modelne tocke. | |
| IPLImage * | tHomogrCheck |
| Slika homografije modelne slike na scenski. | |
| FeatSURFDet * | mSURF |
| SURF detektor modelne slike. | |
| FeatSURFDet * | sSURF |
| SURF detektor scenske slike. | |
| ImgCorrelation * | mImgCorr |
| Izracun podobnosti med slikama. | |
| int | modelSurfQuality |
| Spr. za nastavljanje kvalitete SURF procesiranja. | |
| int | sceneSurfQuality |
| SPr. za nastavljanje kvalitete SURF procesiranja. | |
| float | minPtSize |
| Minimum point size za matching. | |
| int | ptSizeMin |
| Minimalna velikost tocke (spodnja meja intervala) | |
| int | ptSizeMax |
| Maximalna velikost tocke (zgornja meja intervala) | |
| float | pSizeTolerance |
| Toleranca velikosti. | |
| float | pOrientTolerance |
| Toleranca orientacij. | |
| float | pPositionTolerance |
| Toleranca pozicije okrog sat tocke. | |
| int | pTransformCalc |
| Tip izracuna robustne tranformacije : 0 (vsi pari), 1, 2 (Ransac), 3 iteraat izlocanje. | |
| int | pPercentPairs |
| Odstotek izbire parov. | |
| double | pMaxPairDistance |
| Izbira parov - omejitev max distance. | |
| float | pRansacThreshold |
| RANSAC odstopanje. | |
| int | pLoopSteps |
| Koliko korakov zanke: 0 brez. | |
| float | pDx |
| Dx rocni premik. | |
| float | pDy |
| Dx rocni premik. | |
| float | pDistCoef |
| Koeficient, ki doloca upostevanje distSURF ali razdaljo tock (0 - distSURF, 1- razdaljaTock) | |
| int | pModelPtVisual |
| Izbirnik modelne tocke za prikaz vizualizacije. (Izbiramo med najboljsih 100 tock ) | |
| int | pUseCustomPoints |
| Izbirnik za izbiro uporabe rocno oznacenih tock. | |
| int | pDrawTrueHomography |
| Izbirnik za izris prave homografije (s pomocjo tock) | |
| std::string | cuPtModelFn |
| Pot do rocno oznacenih tock modela. | |
| std::string | cuPtSceneFn |
| Pot do rocno oznacenih tock scene. | |
| CvMat * | homography |
| bool | homographyFound |
| CvMat * | detHomog |
| Detektirana iz tock. | |
| CvMat * | trueHomog |
| Prava iz vhodnih parov. | |
| MatchImg2::MatchImg2 | ( | const AbstractData * | parent = NULL, |
| const SimpleData * | parameters = NULL |
||
| ) |
| MatchImg2::~MatchImg2 | ( | ) | [virtual] |
| int MatchImg2::allocateResults | ( | ) | [virtual] |
Reimplemented from AbstractProcessing.
| int MatchImg2::calcHomographyEfficiency | ( | ) | [virtual] |
Izracun distanc med pravo homografijo (z uporabo rocno markiranih tock) ter zaznano homografijo (surf detekcija)
| int MatchImg2::calcLocationDistance | ( | ) | [virtual] |
Primerjaj lokacijske podobnosti vseh SURF tock Vrne zacasni rezultat: tLocIndex, tLocDist
| int MatchImg2::calcPointsDistance | ( | CvPoint2D32f | modelPt | ) | [virtual] |
Primerjava lokacije dveh tock
| int MatchImg2::calcPredictedLocations | ( | double | dx = 0.0, |
| double | dy = 0.0, |
||
| double | scalex = 1.0, |
||
| double | scaley = 1.0 |
||
| ) | [virtual] |
Izracunaj predvidene lokacije model tock v scene sliki OUTPUT: tPredModLoc
| int MatchImg2::calcPtDescrDifference | ( | int | modelPtInd | ) | [virtual] |
Metoda iskanja najblizjih tock.
Metoda primerjanja najblizjih deskriptorjev Uredi tocke po velikosti
| int MatchImg2::calcPtDistances | ( | int | modelPtInd, |
| double | maxLocationDist | ||
| ) | [virtual] |
Za eno tocko izracunaj vse kriterije do vseh scene tock : oddaljenost, podobnost okolic.
Za eno tocko modela izrac. vse distance do vseh tock scene OUTPUT: tPtDist
| int MatchImg2::calcPtSizes | ( | int | minSize = 50, |
| int | maxSize = 100 |
||
| ) | [virtual] |
Za eno tocko modela uredi vse tocke scene po velikosti ki so podobne modelni tocki.
| CvPoint2D32f MatchImg2::calcTransfCoords | ( | CvPoint2D32f | inputCoords, |
| CvMat * | hM | ||
| ) |
Preracun koordinat s podano homografijo.
| int MatchImg2::compareSURFDesc | ( | int | modelPtInd, |
| int | scenePtInd, | ||
| double & | featuresDistance | ||
| ) | [virtual] |
| int MatchImg2::drawHomographyImage | ( | CvMat * | homogMatrix, |
| const IPLImage * | imgP = NULL |
||
| ) | [virtual] |
Narise transform modelne slike na scensko.
| int MatchImg2::drawPairs | ( | ) | [virtual] |
Narise povezave med pari tock v outputImg.
| int MatchImg2::drawPointPredictedLocations | ( | int | selectedModelPt | ) | [virtual] |
Vizualizacija predvidene lokacije, izbrane tocke ter mozni kandidati.
| virtual MatchImg2* MatchImg2::duplicate | ( | ) | [inline, virtual] |
Reimplemented from AbstractProcessing.
| int MatchImg2::evalCurrentLoopLocation | ( | float & | deviationNorm | ) | [virtual] |
Evaluacija trenutne lokacije v loopu, ki gre preko celotne slike.
Funkcija ki izvaja evaluacijo trenutne lokacije (trenutnega koraka) v zanki in vrne najboljso lokacijo Preverjamo najboljso lokacijo z odstevanjem vrednosti pislov, ce so vrednosti podobne (podobne lokacije) bomo dobili najmanjso vrednost razlike in jo zapisali kot bestLocValue. Verzija izracuna najboljsega odmika s pomocjo racunanja evklidske distance med referencno sliko in sliko homografije Pricakujemo, da ze imamo izracunano homografijo!
| int MatchImg2::filterModelPoints | ( | ) | [virtual] |
Filtriraj SURF tocke modela, ostanejo samo tiste znotraj maske.
| int MatchImg2::findHomography2 | ( | CvMat * | homogMatrix, |
| CvMat ** | mask = NULL |
||
| ) | [virtual] |
Poisce homografijo iz tock.
Poisce homografijo iz outPairs parov tock
| int MatchImg2::findHomography3 | ( | CvMat * | homogMatrix, |
| CvMat ** | mask | ||
| ) | [virtual] |
Poisce homografijo iz outPairs parov tock - loop ki odstrani najbolj izstopajoce pare iz outPairs.
| int MatchImg2::findHomography4 | ( | CvMat * | homogMatrix, |
| CvMat ** | mask | ||
| ) | [virtual] |
Ne zmanjsuje tudi image diference !
Poisce homografijo iz outPairs parov tock - loop ki odstrani najbolj izstopajoce pare iz outPairs
| int MatchImg2::findHomography5 | ( | CvMat * | homogMatrix, |
| CvMat ** | mask | ||
| ) | [virtual] |
Poisce homografijo iz outPairs parov tock - loop ki odstrani najbolj izstopajoce pare iz outPairs 2012-07: V vsakem odstranjevanju preverja, da se vrednost image difference zmanjsa !
| int MatchImg2::findPairs | ( | ) | [virtual] |
Funkcija vzame dve mnozici SURF tock (in pripadajoce opise) iz dveh slik in najde ujemanja med tockami.
Poisce pare med dvema mnozicama SURF tock
| ptpairs | vektor najblizjih parov |
| int MatchImg2::findTransformation | ( | CvMat * | homogMatrix = NULL | ) | [virtual] |
Poisce koncno preslikavo modelne slike input: outPairs seznam parov
| int MatchImg2::findTrueHomography | ( | ) | [virtual] |
Iskanje prave homografije z uporabo rocno markiranih tock.
| int MatchImg2::processFrame | ( | ) | [virtual] |
Reimplemented from AbstractProcessing.
| int MatchImg2::runTest | ( | int | testCase = 0, |
| const char * | filen = NULL, |
||
| void * | params = NULL |
||
| ) | [static] |
Testna metoda, alocira objekt in pozene vse na default podatkih.
| int MatchImg2::showAffineTransform | ( | IplImage * | image, |
| IplImage * | model, | ||
| CvPoint2D32f * | corners | ||
| ) | [static] |
Transformiraj manjso sliko na vecjo - Affine transform.
Naredi affine transform modelne slike na scensko sliko.
| int MatchImg2::testClouds | ( | ) | [static] |
Testiranje sat slik oblakov - Klemen.
| int MatchImg2::testClouds2 | ( | ) | [static] |
Testiranje sat slik oblakov avtomatizacija, izpis podatkov - Klemen.
| int MatchImg2::testClouds3 | ( | ) | [static] |
Testiranje sat slik oblakov avtomatizacija, izpis podatkov - Klemen.
Testiranje.
| int MatchImg2::testClouds4 | ( | ) | [static] |
Oblaki: generiranje trojk tock.
19.6.2012
| int MatchImg2::testClouds5Single | ( | ) | [static] |
19.6.2012
| int MatchImg2::testLocation | ( | ) | [static] |
| int MatchImg2::testLocation2 | ( | ) | [static] |
| int MatchImg2::testLocation3 | ( | ) | [static] |
Testiranje uporaberocno markiranih tock.
| int MatchImg2::testLocation4 | ( | ) | [static] |
Testiranje uporaberocno markiranih tock.
| std::string MatchImg2::cuPtModelFn |
Pot do rocno oznacenih tock modela.
| std::string MatchImg2::cuPtSceneFn |
Pot do rocno oznacenih tock scene.
| CvMat* MatchImg2::detHomog |
Detektirana iz tock.
| CvMat* MatchImg2::homography |
Izracun podobnosti med slikama.
| float MatchImg2::minPtSize |
Minimum point size za matching.
Modelna slika.
Opcija: Maska za modelno sliko, katere tocke upostevamo.
Spr. za nastavljanje kvalitete SURF procesiranja.
SURF detektor modelne slike.
Ce je bila prepoznana homografija.
Slika homografije modelne slike na scenski.
Seznam koncnih parov urejenih po ujemanju okolic.
Vizualizacija izbrane tocke modela, mozni pari ter predvidena lokacija.
Seznam koncnih tock za posamezni par (x,y - ptOrig.x, ptOrig.y ...... width,height - ptDest.x, ptDest.y )
| float MatchImg2::pDistCoef |
Koeficient, ki doloca upostevanje distSURF ali razdaljo tock (0 - distSURF, 1- razdaljaTock)
Izbirnik za izris prave homografije (s pomocjo tock)
| float MatchImg2::pDx |
Dx rocni premik.
| float MatchImg2::pDy |
Dx rocni premik.
Koliko korakov zanke: 0 brez.
| double MatchImg2::pMaxPairDistance |
Izbira parov - omejitev max distance.
Izbirnik modelne tocke za prikaz vizualizacije. (Izbiramo med najboljsih 100 tock )
Toleranca orientacij.
Odstotek izbire parov.
Toleranca pozicije okrog sat tocke.
RANSAC odstopanje.
Toleranca velikosti.
Tip izracuna robustne tranformacije : 0 (vsi pari), 1, 2 (Ransac), 3 iteraat izlocanje.
Maximalna velikost tocke (zgornja meja intervala)
Minimalna velikost tocke (spodnja meja intervala)
Izbirnik za izbiro uporabe rocno oznacenih tock.
Scenska slika.
SPr. za nastavljanje kvalitete SURF procesiranja.
SURF detektor scenske slike.
Array rocno markiranih tock model.
Array rocno markiranih tock scena.
zacasni array za racunanje s feature descriptions
Filtrirane (maska) tocke modela.
Pari za vse modelne tocke.
Slika homografije modelne slike na scenski.
Polje za podobnost lokacij: Vrstice pripadajo posamezni model tocki V vrstici so oddaljenosti scene tock, ki so najblizje: tocka na x=0 je najblizja
Polje za podobnost lokacij: Vrstice pripadajo posamezni model tocki V vrstici so indeksi scene tock, ki so najblizje: tocka na x=0 je najblizja
Pari za eno modelno tocko.
Ali upostevamo to tocko modela: ali je znotraj maske (0,1)
Pari: maska, kateri ustrezajo homografiji.
Predvidena lokacija modelnih tock v scene sliki: vrstica 0 so x, 1 y koordinate.
Distance ene tocke modela do vseh scene tock.
Polje tock scenske slike urejenih po velikosti ki ustreza modelni sliki.
| CvMat* MatchImg2::trueHomog |
Prava iz vhodnih parov.
Array transformiranih tock z detektirano in pravo homografijo.