Czujnik Ruchu

0

Witam.
Mam małą kamerę, ok. 200x200 pikseli.
Chciałbym zrobić program, który odtworzy jakiś dźwięk, kiedy obraz z kamerki się zmieni.
Więc w punktach.
1 Co godzinę robi zdjęcie, i zapisuje jako 'glowne.bmp'
2 Co 3 sek. <ort>poruwnuje </ort>aktualny obraz z obrazem 'glowne .bmp'
3 Jeżeli się różni, to wszczyna alarm (włącza dźwięk)
Kamera jest podłączona przez USB

0

Właściwie, to nic do Twoich chęci nie mam, więc jeżeli o mnie chodzi, to pisz ten program.

0

zgadzam się z przedmówcą.

@TomRiddle: weź pod uwagę szum, zmiany oświetlenia, drobne ruchy kamery (drgania wywołane np. ruchem ulicznym). a poza tym - pomyliłeś forum - na tym zadajemy pytania.

0

Smiejecie sie z niego - nieladnie ;>

Zainteresuj sie biblioteka OpenCV (nie mam pojecia, czy mozna jej wygodnie uzywac w Delphi ;p)

0

Nie tyle się wyśmiewamy, co raczej kierunkujemy do samodzielnego rozwiązywania problemów :)
Przedstawiony algorytm jest ogólnie rzecz biorąc nie do podważenia i po wielokrotnym uszczegółowieniu zapewne przestałby kojarzyć mi się z bliżej nieokreśloną wizją np. szefa lub zleceniodawcy, dla których wszystko jest proste...
Ale, żeby nie było, że nie pomagam, to dodam, że warto zwrócić uwagę na biblioteczkę ImageEn (http://www.hicomponents.com), która chyba jest w tej chwili nawet bezpłatna (tylko należy się zarejestrować).

0

1: Szumu nie ma, bo kamerka nie nagrywa dźwieku.
2: Ruchu ulicznego też nie ma.
3: Dla tego co godzine ma robić zdjęcie żeby brać pod uwagę, te zmiane światła.
4: Mogę też ustawić skalę szarości.

I forum też jest dobre, bo to miało być pytanie od czego zacząć.

0

1: Szumu nie ma, bo kamerka nie nagrywa dźwieku.

To zależy czym słuchasz, czy uchem czy okiem :)

A tak w ogóle to myślę, że przy zachowaniu jakiejś tolerancji na kolory (10-20%) i ewentualnie przyjmując, że zmiana którą chcesz wykryć jest stosunkowo duża (że np. ktoś przechodzi) to nie powinieneś mieć problemu z wykodzeniem tego, bez dodatkowych bibliotek itp. Chociaż efekt na pewno nie będzie taki jak przy ich użyciu.

0

jak masz pewność że obraz nie przesuwa sie nawet o 1 pixel, to...
moja propozycja na algorytm wygląda tak.

Pobierasz pixelki z obu zdjęć, np o pozycji 2x2.
Następnie rozbijasz je na kolory RGB. Następnie odejmujesz te kolory, w module:
|R1-R2|+|G1-G2|+|B1+B2|
W wyniku otrzymujesz wynik, w jakim stopniu obraz się różni. Pozniej sobie wymyślasz, co bardziej się sprawdza - np. Dodając wszystkie wyniki probkowania, nastepnie dzielac je przez tyle, ile obraz ma pixelkow. Nastepnie ustawiasz jaka ma byc tolerancja obu obrazów

0

Wg. Twojej koncepcji, program musiałby co <ort>godzine </ort>robić zdjęcie główne, i co 5 sek. zdjjęcie sprawdzające.
A ja chciałem żeby co <ort>godzine </ort>robił zdjęcie, i co 5 sek. <ort>poruwnywał </ort>je z widokiem z kamerki!
W Panel sterowania, i Urządzenia, I kamerka. tam jest widok i "<ort>Zrub </ort>zdjęcie".

Jest jeszcze jeden problem. Jak programowo zrobić zdjęcie?
Tak kamerka jest już stara, ma ponad 15 lat. Jak komuś zależy, <ort>moge </ort>dać zdj.

// słownik! - Ł

0
TomRiddle napisał(a)

Wg. Twojej koncepcji, program musiałby co <ort>godzine </ort>robić zdjęcie główne, i co 5 sek. zdjjęcie sprawdzające.
A ja chciałem żeby co <ort>godzine </ort>robił zdjęcie, i co 5 sek. <ort>poruwnywał </ort>je z widokiem z kamerki!
W Panel sterowania, i Urządzenia, I kamerka. tam jest widok i "<ort>Zrub </ort>zdjęcie".

Jest jeszcze jeden problem. Jak programowo zrobić zdjęcie?
Tak kamerka jest już stara, ma ponad 15 lat. Jak komuś zależy, <ort>moge </ort>dać zdj.

// słownik! - Ł

Niekonieczne- to sobie bedzie zalezalo jaka czulosc ustawisz.
Programowo? Masz stery do niej chociaz?

0
TomRiddle napisał(a)

Wg. Twojej koncepcji, program musiałby co <ort>godzine </ort>robić zdjęcie główne, i co 5 sek. zdjjęcie sprawdzające.
A ja chciałem żeby co <ort>godzine </ort>robił zdjęcie, i co 5 sek. <ort>poruwnywał </ort>je z widokiem z kamerki!
W Panel sterowania, i Urządzenia, I kamerka. tam jest widok i "<ort>Zrub </ort>zdjęcie".

Jest jeszcze jeden problem. Jak programowo zrobić zdjęcie?
Tak kamerka jest już stara, ma ponad 15 lat. Jak komuś zależy, <ort>moge </ort>dać zdj.

// słownik! - Ł

Jego koncepcja jest sluszna. Tylko Ty jej chyba nie zrozumiales.
najpierw znajdz w necie jak przechwycic obraz z kamery. bylo tysiace razy poruszane wiec nie zadawaj nastepnego pytania tylko wykaż sie inteligencja i znajdz sam.
potem bierzesz jedna klatke z kamery i trzymasz ja w pamieci - to bedzie klatka z ktora beda porownywane inne klatki.
co kilka sekund odczytujesz inna klatke i porownujesz z ta ktora trzymasz w pamieci.
porownujesz uzywajac scanline - tez bylo wiele razy poruszane na forum wiec o to nie pytaj.
z reszta.. caly algorytm masz juz wyjasniony wyzej.

0

A co będzie jak mi kot skoczy na kamerkę i ją przetrąci? Wystraszy się alarmu i zabije o własny cień.
Przydałby się żyroskop do kamerki i algorytm rozpoznawający jego ruch i eliminujący wtedy alarm. ;)
Mam ubić kota? Albo kupić najpierw słownik, a potem brać się za programowanie i obsługę google. ;)
...
Temat molestowany miliony razy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1