• Video and Image Processing Blockset- biblioteka przeznaczona do analizy obrazów statycznych oraz obrazu wideo. Podobnie jak w przypadku poprzedniej biblioteki możemy wyróżnić kilka jej podzbiorów:
— Analysis and Enhancement- biblioteka przeznaczona do zaawansowanej analizy. Umożliwia między innymi wykrywanie krawędzi obrazu, porównywanie wzorców, wykrywanie rogów obrazu, filtrowanie uśredniające.
— Conversions- bilbioteka umożliwiająca przede wszystkim swobodne przejście do innej przestrzeń kolorów np. RGB do YCbCr, RGB do HSV itp.
— Morphological Operations- biblioteka umożliwiająca przeprowadzenie operacji morfologicznych takich jak: erozja, dylatacja, zamknięcie, otwarcie.
— Statistics- biblioteka umożliwiająca obliczenie histogramów obrazu, wartości średnich, wartości maksymalnych, minimalnych, indeksację.
— Text and Graphics - biblioteka umożliwiająca dodanie kształtów zdefiniowanych przez użytkownika do oryginalnego obrazu, zaznaczania obszarów o odpowiednich współrzędnych[l].
Oczywiście odpowiednie narzędzia oferuje również język C++, jednakże sposób tworzenia symulacji, aplikacji w Simulinku znacznie różni się od klasycznego programistycznego podejścia. W Simulinku każda akcja, funkcja jest realizowana przez odpowiedni blok funkcyjny. Działanie każdego bloku jest dokładnie opisane w pomocy programu oraz na stronie internetowej producenta. Na rysunku 2.2 przedstawiono przykładowy model symulacyjny Simulinka. Model ten zamienia przestrzeń kolorów z YCbCr na skalę szarości, a następnie dokonuje filtracji takiego obrazu przy pomocy filtra środkowego. Liczbę klatek na sekundę uzyskano stosując odpowiedni blok funkcyjny. Parametr ten określa liczbę obrazów wyświetlanych w sekwencji wideo w czasie jednej sekundy. Mała liczba klatek na sekundę powoduje utratę płynności wyświetlanej sekwencji wideo, granica płynności to około 15 klatek na sekundę. Aby uzyskać płynny obraz ruchu należy analizować około 25 obrazów na sekundę[9]. W przefiltrowanym obrazie wideo uzyskano liczbę klatek na poziomie około 12,5 klatki.
Simulink doskonale nadaje się do weryfikacji działania aplikacji. Nie występują tu żadne ograniczenia dotyczące dostępu do przetwarzanych danych, w każdym miejscu modelu można podłączyć odpowiedni blok funkcyjny służący do obserwowania i analizy danych otrzymywanych w wyniku działania innych bloków funkcyjnych (np. blok o nazwie Skope, czy użyty w przykładzie Frame Ratę Display). Simulink jest również często wykorzystywany przy tworzeniu aplikacji obsługiwanych przez procesory sygnałowe, ponieważ można w nim w łatwy sposób dokonać wstępnych jak i bardziej zaawansowanych analiz działania projektu. Nie wszystkie funkcje Matlaba są bezpośrednio wspierane przez Simulinka (np. funkcja interp2), w takim przypadku należy użyć s-funkcji. Blok ten po-
12