• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

OpenCV C++, znalezienie linii, współrzędnych ich końca i przekazanie na drugi obraz

0 głosów
160 wizyt
pytanie zadane 2 grudnia 2018 w C i C++ przez adrianna1234 Nowicjusz (120 p.)

Witam,
w ramach projektu na studiach tworzymy grę PaperSoccer z użyciem OpenCV.

Oryginalna plansza do gry wygląda tak:

 

A zdjęcie ze zrobionym jednym ruchem wygląda tak:

Używamy funkcji, które usuwają perspektywę na zdjęciu z ruchem i jesteśmy w stanie znaleźć współrzędne punktów, po których będziemy się poruszać tj. kropek. SOURCE CODE

Chcemy znaleźć miejsce w którym został wykonany ruch i przenieść go na planszę oryginalną.Próbowaliśmy użyć funkcji > absdiff(img1,img2,result)
aby znaleźć różnicę między zdjęciem planszy oryginalnej a pierwszym ruchem, następnie ruchem pierwszym a drugim itd, a następnie użyć funkcji wykrywającej i rysującej linie w miejscu w którym została znaleziona.

int DetectLines(Mat src, const char* sourceName, const char* destName){

Mat dst, cdst;
Mat zapisz;
zapisz = imread("plansza3.jpg",0);

Canny(src, dst, 50, 200, 3);
cvtColor(dst, cdst, COLOR_GRAY2BGR);

vector<Vec4i> lines;

HoughLinesP(dst, lines, 1, CV_PI / 180, 20, 10, 5);

for (size_t i = 0; i < 1; i++)
{
    Vec4i l = lines[i];
    line(zapisz, Point(l[0], l[1]), Point(l[2], l[3]), Scalar(0, 0, 255), 3, 2);
}

imshow(destName, zapisz);

return 0;
}

Jednak nie działą to poprawnie.
Tak naprawdę potrzebne nam są współrzędne znalezionej linii, aby przekazać je do logiki gry. Jednak nie wiemy jak zrobić, aby punkty z naszej planszy ze zdjęcia odpowiadały punktom planszy oryginalnej i aby za każdym razem wykrywało tylko nowy ruch, a nie wszystkie poprzednie.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 88 wizyt
0 głosów
2 odpowiedzi 673 wizyt
pytanie zadane 4 czerwca 2018 w C i C++ przez amator1 Początkujący (470 p.)

88,355 zapytań

136,951 odpowiedzi

305,670 komentarzy

58,619 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...