• 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

Object Storage Arubacloud
0 głosów
213 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 243 wizyt
0 głosów
2 odpowiedzi 937 wizyt
pytanie zadane 4 czerwca 2018 w C i C++ przez amator1 Początkujący (470 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...