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:
Ćwiczenie 2.
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.
A/D
LUT_R
A/D
LUT_G
A/D
LUT_B
R
G
B
MUX
MEM
MEM
MEM
MEM
PHSbus
PHSbus
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
FPGA
8 bits
8 bits
8 bits
8 bits
COUNTERS
PHSbus
CONTROL
LOAD/START
START
START
INTRQ
I8259
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.