co do liczby osób myślę że kierowanie się liczbą świateł na zdjęciu rozwiązuje ten problem
Jeżeli chodzi o częstotliwosć jeżeli ruch jest duży mamy więcej samochodów (czyli więcej świateł) keżeli jest korek jest jeszcze więcej bo samochody stoją w małych odstępach od siebie mniej niż 1m jak jedziesz 50 km/h to odstęp wynosi trochę więcej więc i liczba samochodów możliwych do uchwycenia na jednym zdjęciu się zmniejsza...
Przykładowe zdjęcie
aktualne zdjęcie:

zdjęcie z 20:15 :

Trzeba by było tutaj wydzielić obszar który algorytm by brał pod uwagę tak aby ominąć latarnie itp. wystarczy policzyć tylko liczbę świateł w danym fragmencie zdjęcia (muszę porównać to zdjęcie ze zdjęciem zrobionym w dzień i zobaczyć jak bardzo różnią się światła... Problemem może być grupka samochodów po lewej stronie ale biorąc pod uwagę że przed droga jest prawie pusta można by wywnioskować że są to tylko światła a nie korek na całej drodze.
Myślałem o tym chwile i wymyśliłem taki mechanizm
Algorytm stosuje się tylko do jednego obrazu z kamery dla każdej kamery będzie on się nieco różnił
Najpierw sprawdzamy która jest godzina (dzień czy noc) (w zależności od tego jaki światła w samochodzie będą miały kolor
Następnie robimy pętle która
dzieli zdjęcie (wyznaczony obszar) na poszczególne piksle
sprawdza czy odcień danego piksla zgadza się z pikslem wzorcowym oraz zapisuje w zmiennej pozycję każdego takiego piksla
gdy mamy już całe zdjęcie przeskanowane zajmujemy się analizą wyników
musimy rozważyć możliwość zagęszczenia pojazdów jezeli w promieniu kilkudziesięciu pkt. piksle które znaleźliśmy tworzą jednolitą plame oznacza o że mamy zgrupowanie pojazdów musimy sprawdzić fragment drogi przed nimi jeżeli jest pusty jeśli tak wystarczy nam przyblizona wielkość takiej plamy przypisana do zmiennej którą wykorzystamy potem a całą tą plamę ignorujemy dla dalszego kroku jeżeli taka plama pokrywa całą drogę oznacza to że jest mocno zakorkowana.
jeżeli odległość od siebie wyszukanych piksli jest mała np 15 pkt ignorujemy takie piksle (w ten sposób jednemu światłu samochodu które składa się z kilku piksli będzie odpowiadał jeden piksel właściwy)
liczymy liczbę piksli właściwych i dzielimy na 2 w ten sposób mamy przybliżoną liczbę samochodów na zdjęciu teraz trzeba się jeszcze zająć tą plamą znając jej wielkość można również w przybliżeniu podać liczbę samochodów tworzących taką plamę
Fragment poddanego analizie w ten sposób zdjęcia będzie pokrywał jeden kierunek ruchu fragment zdjęcia po którym samochody jadą z przeciwnej strony będzie trzeba poddać podobnej analizie
Co o tym myślicie ? teraz pytanie jak to wszystko napisać...
znalazłem na necie algorytm wycinający fragment zdjęcia
1
. header("Content-type: image/jpeg");2. $image = imagecreatefromjpeg("tygrys.jpg");
4. $new_width = 780;
5. $new_height = 840;
6. $image_new = imagecreatetruecolor($new_width, $new_height);
7. imagecopyresized($image_new, $image, 0, 0, 140, 100, $new_width, $new_height,
260, 280);
8. imagejpeg($image_new);
zastanawiam się jak ustalić kolor wycięteg w ten sposób piksla ;/
pewnie będę miał potężny problem z napisaniem czegoś takiego bo nigdy nie korzystałem z biblioteki GD ciekawe jak będzie wyglądała wydajność można by było ew. zliczać nie 1 piksel a 4...
żeby nie było za prosto znalazłem jeszcze takie zdjęcie:

widzimy tutaj światło samochodu które odbija się od drogi w takim przypadku mój algorytm uznał by że jest to zgrupowanie pojazdów jak to wyeliminować ? nie mam pojęcia