Katedra Robotyki i Mechatroniki
Systemy wizyjne.
Temat: Lab2_Wykorzystanie techniki szybkiego prototypowania do programowania karty frame-grabber’a oraz implementacji algorytmów wstępnego przetwarzania obrazów.
Prowadzący: dr inż. Piotr KOHUT
Grupa:
Imię i nazwisko:
Data:
Uwagi:
1.
Cel ćwiczenia:
Nabycie umiejętności prototypowania algorytmów wstępnego przetwarzania obrazów oraz programowania karty frame-grabber’a współpracującego z kartą DS1003 z procesorem sygnałowym TMS320C40 poprzez magistralę PHS.
2.
Przebieg ćwiczenia:
W oparciu o plik szablonowy S-funkcji oraz dokumentacji karty należy opracować procedury sterujące kartą frame-grabber’a oraz procedury realizujące podstawowe metody wstępnego przetwarzania obrazów. Dokonać wizualizacji trybów pracy karty oraz opracowanych procedur za pomocą narzędzia ControlDesk. Bezpośrednio ze schematów blokowych Simulink’a za pomocą aplikacji Real-Time Workshop (Matlab) oraz Real-Time Interfece wykonać proces automatycznej kompilacji i ładowania kodu do pamięci procesora sygnałowego. (Z przestrzeni Matlaba dostęp do wszystkich parametrów znajdujących się w przestrzeni DSP umożliwia Mlib/Mtrace) Wykonaj aplikację czasu rzeczywistego oraz szczegółowo opracuj w formie raportu : 1. Wykonaj testy dla różnych ustawień rejestru (05H-rejestr statusu pracy) frame-grabber’a determinującego tryb jego pracy. Opisz oraz wyjaśnij możliwe ustawienia wszystkich rejestrów związanych z pracą karty frame-grabber’a. W celu wizualizacji trybów pracy karty akwizycji w ControlDesk’u wykonaj odpowiedni interfejs użytkownika (z uwzględnieniem rejestru określającego status pracy karty 04H).
Pomiędzy przetwornikiem a pamięcią umieszczona jest programowalna tablicę korekcji Look-Up-Table.
Dane wizyjne zanim zostaną zapisane w pamięci frame-grabber’a poddawane są konwersji LUT niezależnej dla każdego kanału. Konwersję LUT można zaprogramować z poziomu magistrali PHS poprzez odpowiedni wpis do rejestrów frame-grabber’a.
PHSbus
R
MEM
8 bits
8 bits
8 bits
A/D
LUT_R
8 bits
8 bits
MEM
8 bits
G
A/D
8 bits
LUT_G
8 bits
MUX
MEM
8 bits
8 bits
B
A/D
8 bits
LUT_B
8 bits
INTRQ
8 bits
MEM
8 bits
PHSbus
START
START
LOAD/START
CONTROL
COUNTERS
I8259
FPGA
PHSbus
Figure 1. Block diagram of the Frame Grabber board
2. Zaprogramuj (sprzętowo) za pomocą tablicy LUT (fig.1): logarytm, pierwiastek obrazu –
zinterpretuj wyniki. Wyjaśnij znaczenie “mdlInitializeConditions”. Użyj ControlDesk do budowy interfejsu użytkownika a do wizualizacji obrazu wykonaj m-plik z użyciem modułu MLIB.
3. Zaimplementuj procedurę binaryzacji pozyskiwanych obrazów z kamery. Opisz oraz wyjaśnij sposób zmiany wartości parametrów (progu binaryzacji w trakcie realizacji procesu na karcie DS1003). Za pomocą narzędzia ControlDesk wykonaj odpowiedni interfejs użytkownika umożliwiający zmianę progu binaryzacji.
4. Szczegółowo opisz i wyjaśnij wszystkie linie/segmenty kodu zaimplementowanych S-funkcji zdefiniowanych jako MEX-plik w kodzie języka C. Zilustruj to odpowiednimi przykładami.