background image

 

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: 

 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

Ć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.