Mógłby ktoś sypnąć wskazówkami jak zabrać się za napisanie takiego programu? Słyszałem, że przy użyciu biblioteki OpenCV będzie to 'parę' linijek kodu - prawda to (patrzyłem pobieżnie na API i nie było to takie oczywiste)?
Jeżeli znasz odległości na filmie, i jego fps, to porównując pozycję pojazdu w dwu klatkach jesteś w stanie określić jego szybkość średnią i chwilową korzystając ze wzoru z podstawówki(V=s/t).
Jeżeli jest jedynym źródłem dźwięku o danej częstotliwości, to znając odległości na filmie oraz mając częstotliwość dźwięku emitowanego przez pojazd odebraną w momencie kiedy pojazd znajdował się najbliżej punktu pomiaru, oraz częstotliwość dźwięku emitowanego przez pojazd kiedy zbliżał się/oddalał się od punktu pomiaru możesz skorzystać z efektu Doplera ( ).
Popatrz na tą aplikację, trochę głupia, ale pokazuje na jakiej zasadzie można to zrobić.
- zakładasz na jakiej wysokości jest kamera
- musisz znać ogniskową kamery, by wiedzieć jaki jest przelicznik pikselów na kąt
- śledzisz elementy drogi i patrzysz o jaki kąt się przesunęły
- zakładając, że droga przesuwa się pod kamerą poziomo i znając odległość kamery od drogi (wysokość) z prostych rachunków geometrycznych można policzyć drogę jaką pokonały elementy obrazu i na tej podstawie policzyć szybkość przesuwania się drogi.
Problemem może być orientacja kamery względem poziomu, ale to powinno dać się zniwelować porównując prędkości kontowe elementów w górnej i dolnej części obrazu drogi.
Cześć open CV faktycznie będzie to tylko parę linijek kodu do śledzenia featureów obrazu, ale odsianie featureów obrazu należącej do drogi i elementów tła i przeliczenia geometryczne, to zajmie ci troszkę więcej niż parę linijek.
Edit: teraz zauważyłem, ze nie chodzi ci o mierzenie prędkości kamery, ale prędkości innych samochodów, gdy kamera jest stacjonarna.
Mimo wszystko główny pomysł pozostaje bez zmian, zakładasz, że teren jest poziomy i znasz wysokość umieszczenia kamery.
Tutaj coś co może pomóc.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.