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.

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.