Bawię się z biblioteką Aforge z C# w visual studio. Aplikacja pobiera mi koordynaty jako x,y z śledzonego przedmiotu. Jak można z nich rozpoznać konkretny ruch jaki się zrobiło?
Rozpoznanie konkretnego ruchu na podstawie koordynatów śledzonego przedmiotu
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2520
rozdziel to na kilka etapów:
- wykryj ruch obiektu między dwoma klatkami (dx, dy) lub wartości bezwględne w każdej klatce (x, y)
- napisz algorytm, który na podstawie zestawu współrzędnych (x, y) lub (dx, dy) wykryje typ ruchu
w drugiej części najłatwiej przeanalizować stałą liczbę współrzędnych N (np. 10) i później bawić się w coś w stylu:
- jeśli w pierwszej połowie próbek współrzędna x zmienia się znacząco i zawsze w lewo, a współrzędna y nieznacząco
- w drugiej połowie współrzędna y zmienia się znacząco, a x nieznacząco
to<wykonaj akcję>
o tym można by napisać pracę dyplomową i możliwości rozpoznawania kształtów masz bardzo dużo
- Rejestracja: dni
- Ostatnio: dni
- Postów: 401
o jaki typ ruchu chodzi?
- napisz algorytm, który na podstawie zestawu współrzędnych (x, y) lub (dx, dy) wykryje typ ruchu
możesz podać jakieś strony, artykuły na ten temat?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Tuchów
- Postów: 12317
@dawid653 - chcesz kurs opisujący dodawanie i odejmowanie..?
Tyle wystarczy, aby rozpoznać typ ruchu - sumować współrzędne z kolejnych klatek i sprawdzać w której ćwiartce układu współrzędnych znajduje się punkt o wyliczonych koordynatach, gdzie za punkt [0,0] przyjmujemy współrzędne z poprzedniej klatki;
Jeśli potrzebujesz sprawdzić jedynie kierunek w poziomie i pionie, to sprawdzaj czy nowy punkt znajduje się w układzie współrzędnych po lewej/prawej stronie lub wyżej/niżej w stosunku do punktu poprzedniego.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 401
chodzi mi o bardziej skomplikowane gesty niż tylko góra, dół np. koło czy litera "Z" albo linia ukośna "/", "".
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Tuchów
- Postów: 12317
Nie szkodzi, rozpoznawanie kierunku pomiędzy dwoma punktami przyda Ci się; Dzięki temu możesz sobie obliczyć kierunek ruchu pomiędzy np. 20 klatkami i zestaw tych kierunków porównać z wzorcami i w ten sposób rozpoznać konkretny gest.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 401
rozumiem jak wyznaczyć kierunek z punktów osi XY. pobieram punkty i obliczamy odległość między punktami w pionie i poziomie potem znając dx i dy obliczyć kąt zawarty między odcinkiem a osią OX. Jest także wprowadzona tolerancja konta. każdy wyliczony kierunek oznaczamy liczbą od 1 do 8.
ale jak aplikacja zbiera mi punkty licząc od lewego górnego rogu punkt (0,0) a dolny prawy róg to (300,300) to jak mam wyznaczyć kierunek w którym się poruszał wskaźnik?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Tuchów
- Postów: 12317
ale jak aplikacja zbiera mi punkty licząc od lewego górnego rogu punkt (0,0) a dolny prawy róg to (300,300) to jak mam wyznaczyć kierunek w którym się poruszał wskaźnik?
Tak masz to zrobić, jak opisałeś:
pobieram punkty i obliczamy odległość między punktami w pionie i poziomie potem znając dx i dy obliczyć kąt zawarty między odcinkiem a osią OX. Jest także wprowadzona tolerancja konta. każdy wyliczony kierunek oznaczamy liczbą od 1 do 8.
Nie rozumiem co chcesz jeszcze więcej wiedzieć.