Emulacja CMUcam2#
CMUcam2 ma następujące możliwości:
Śledź zdefiniowane przez użytkownika plamy koloru z prędkością do 50 klatek na sekundę (częstotliwość klatek zależy od ustawień rozdzielczości i rozmiaru okna)
Śledź ruch za pomocą różnicowania klatek z prędkością 26 klatek na sekundę
Znajdź środek ciężkości dowolnych danych śledzenia
Zbierz dane o średnim kolorze i wariancji
Zbierz histogram o 28 przedziałach dla każdego kanału koloru
Przetwarzaj obrazy z poziomym filtrowaniem krawędzi (nieobsługiwane)
Przesyłaj w czasie rzeczywistym binarną bitmapę śledzonych pikseli w obrazie
Dowolne okienkowanie obrazu
Zmniejszanie próbkowania obrazu
Dostosuj właściwości obrazu kamery
Zrzuć surowy obraz (pojedynczy lub wiele kanałów)
Rozdzielczość do 176 x 255
Obsługuje szybkości transmisji: 115,200 57,600 38,400 19,200 9,600 4,800 2,400 1,200 BPS
Steruj 5 wyjściami serw
Tryb podrzędnego (slave) równoległego przetwarzania obrazu z pojedynczej magistrali kamery (nieobsługiwane)
Automatycznie używaj serw do dwuosiowego śledzenia koloru
Czarno-białe analogowe wyjście wideo (PAL lub NTSC, w zależności od użytego modułu kamery)
Elastyczne dostosowywanie pakietów wyjściowych
Tryb wyłączenia zasilania
Wieloprzebiegowe przetwarzanie obrazu na buforowanym obrazie
Prekompilowane obrazy emulacji CMUcam2#
Istnieje kilka różnic między emulacją CMUcam2 a rzeczywistym CMUcam2. Poniżej znajduje się lista całej funkcjonalności CMUcam2 z przekreślonymi nieobsługiwanymi funkcjami. Wiele przekreślonych funkcji będzie obsługiwanych w najbliższej przyszłości.
Następujące polecenia nie będą obsługiwane w najbliższej przyszłości:
Różnice w emulacji CMUcam2#
Zakres wejścia serwa
Serwa mają teraz wartości 8-bitowe 0-255
Zworki
Ze względu na brak zworek na CMUcam3, zmiany szybkości transmisji i kierunku serw trzeba wykonać w czasie kompilacji - są one kontrolowane przez #define na górze kodu źródłowego cmucam.c
Polecenie Set Input (SI pin )
Ustawia pin jako wejście
Polecenie programowej przestrzeni kolorów (CS value )
CS 0 ustawia przestrzeń kolorów na domyślną sprzętową (RGB lub YCrCb)
CS 1 wykonuje programową konwersję do przestrzeni kolorów HSV
Konwersja zakłada, że sprzęt jest ustawiony na RGB, aby uzyskać poprawne wyniki
Przestrzeń HSV jest przestrzenią całkowitoliczbową, w której wszystkie wartości są skalowane między 16 a 240
Uwaga: Jest to dostępne tylko w r504 i nowszych
Set Output może sterować niebieską i pomarańczową diodą LED
Serwa 2 i 3 przestaną działać
SO 2 1 -> Niebieska włączona
SO 2 0 -> Niebieska wyłączona
SO 3 1 -> Pomarańczowa włączona
SO 3 0 -> Pomarańczowa wyłączona
Brak trybu podrzędnego (slave)
Jest to możliwe, ale obecnie tego nie obsługujemy
Maska wyjścia (OM)
Obsługuje tylko pakiety T i S (typu 0 i 1)
Tryb linii (LM)
Obsługuje tylko tryb śledzenia koloru (LM 0 1)
Statystyki śledzenia koloru dodane w r523 (LM 0 2)
Wyślij JPEG (SJ)
Wysyła klatkę skompresowaną w formacie jpeg, wraz z nagłówkiem
Tryb demo
Ponieważ przytrzymanie przycisku programowania wprowadza CMUcam3 w tryb programowania, musisz nacisnąć przycisk pół sekundy po uruchomieniu, aby wejść w tryb demo
Hi-Res Frame Difference
Działa to teraz tak samo jak różnicowanie klatek w niskiej rozdzielczości, tylko w wyższej rozdzielczości