2011-12-07 25 views

Odpowiedz

6

Zgodnie z sugestią Throwback1986 prawdopodobnie będziesz chciał użyć matchTemplate. Here to jedna z moich odpowiedzi pokazująca, jak wykrywać Słońce z wirtualnych statków kosmicznych. Here to nowszy samouczek od OpenCV na temat korzystania z matchTemplate. Teraz istnieją pewne zastrzeżenia dotyczące stosowania podejścia matchTemplate. Jeśli obraz "A" może być w dowolnej pozycji (np. Zmiany skali, obrotu, perspektywy, itp.) W obrazie "B", wówczas matchTemplate nie będzie działał bardzo dobrze. Jeśli tak się stanie, będziesz chciał użyć funkcji wykrywania detekcji, zgodnie z sugestią Adrian Popovici.

+0

dziękuję, sprawdziłbym linki i samouczki. Jestem wdzięczny za pomoc. Twoja odpowiedź jest dla mnie najbardziej pomocna, dlatego akceptuję twoją odpowiedź. dziękuję za poświęcenie czasu na odpowiedź na moje pytanie. – haykart

0

Możesz wziąć pod uwagę coś podobnego do dopasowania szablonu, tak jak to opisano w tej publikacji: tutorial.

Bardziej brutalna metoda polegałaby na "przesuwaniu" obrazu. Inkrementalnie na obrazie B szukającym punktu najmniejszej różnicy. (Zauważ, że to zakłada, że ​​obraz A jest pewnym rozsądnie małym podzbiorem obrazu B.) Możesz użyć funkcji cvNorm, aby obliczyć wartość L1 norm, co jest równoważne obliczeniu sumy różnic kwadratowych (SSD). Użyj opcji CV_L1. Here to link opisujący zastosowanie SSD w korelacji obrazu.

+0

dziękuję, sprawdziłbym linki, twoja odpowiedź pomogła mi. Jestem wdzięczny za pomoc. dziękuję za poświęcenie czasu na odpowiedź na moje pytanie. – haykart

Powiązane problemy