Category: Systemy Multimedialne
-
Szablony filtrów z okienkiem właściwości
W archiwum DirectShow Filter Template – PropertyPage znajduje sie 5 szablonów filtrów z szablonem okienka właściwości:
- Transform – Filtr przeznaczony do realizacji projektów z jednym wejściem i jednym wyjściem. Przykładem takiego projektu jest filtr konwersji RGB do YUV
- DualInput – Filtr przeznaczony do realizacji projektów z dwoma wejściamy i jednym wyjściem. Przykładem takiego projektu jest filtr składający dwa obrazu do obrazu typu SideBySide.
- DualOutput – Filtr przeznaczony do realizacji projektów z jednym wejściem i dwoma wyjściami. Przykładem takiego projektu jest filtr wyszukujący i śledzący twarz
- Source – Filtr przeznaczony do realizacji projektów filtów źródłowych z jednym wyjściem. Przykładem takiego projektu jest filtr odczytujący pliki BMP z dysku
- Sink – Filtr przeznaczony do realizacji projektów filtów docelowych z jednym wejściem. Przykładem takiego projektu jest filtr zapisujący pliki BMP z dysku
Po rozpakowaniu archiwum w pierwszej kolejności nalezy przekompilować klasy bazowe znajdujące się w katalogu BaseClasses. W tym celu otwieramy plik projektu make.visual/baseclasses_vc2005.sln w środowisku Visual Studio 2005 lub odpowiednio nowszy projekt w nowszym środowisku. Z menu build wybieramy opcje Rebuild Solution. Nastepnie zamykamy projekt.
Po przeanalizowaniu projektu który Państwo realizują należy wybrać odpowiedni szablon filtru.
W zależności od wybranego typu projektu należy zmodyfikować następującą funkcję:
- Transform – Transform
- DualInput – ProcessSamples
- DualOutput – Receive
- Source – DeliverSample
- Sink – Receive
-
Sekwencja testowa
Podczas opracowywanie filtru DirectShow zdarzają sie różne problemy z odtwarzaniem sekwencji które nie mają przyczyny w opracowywanym kodzie filtru. W takich przypadkach zalecam wykorzystanie załaczonej prostej sekwencji testowej.
Foreman – QCIF YUV 4:2:0 foreman_qcif.rar
-
Zmiana formatu pinu wyjściowego
Podczas tworzenia filtru nieraz istnieje potrzeba zmiany formatu pinu wyjściowego. Zmianę formatu pinu wyjściowego rozważymy na przykładzie filtru Transform. Chcemy zmienić obraz wyjściowy w taki sposób aby był 2 razy wyższy.
(więcej…) -
Szablony filtrów
W archiwum DirectShowLab.rar znajduje sie 5 szablonów filtrów:
- Transform – Filtr przeznaczony do realizacji projektów z jednym wejściem i jednym wyjściem. Przykładem takiego projektu jest filtr konwersji RGB do YUV
- DualInput – Filtr przeznaczony do realizacji projektów z dwoma wejściamy i jednym wyjściem. Przykładem takiego projektu jest filtr składający dwa obrazu do obrazu typu SideBySide.
- DualOutput – Filtr przeznaczony do realizacji projektów z jednym wejściem i dwoma wyjściami. Przykładem takiego projektu jest filtr wyszukujący i śledzący twarz
- Source – Filtr przeznaczony do realizacji projektów filtów źródłowych z jednym wyjściem. Przykładem takiego projektu jest filtr odczytujący pliki BMP z dysku
- Sink – Filtr przeznaczony do realizacji projektów filtów docelowych z jednym wejściem. Przykładem takiego projektu jest filtr zapisujący pliki BMP z dysku
Po rozpakowaniu archiwum w pierwszej kolejności nalezy przekompilować klasy bazowe znajdujące się w katalogu BaseClasses. W tym celu otwieramy plik projektu make.visual/baseclasses_vc2005.sln w środowisku Visual Studio 2005 lub odpowiednio nowszy projekt w nowszym środowisku. Z menu build wybieramy opcje Rebuild Solution. Nastepnie zamykamy projekt.
Po przeanalizowaniu projektu który Państwo realizują należy wybrać odpowiedni szablon filtru.
W zależności od wybranego typu projektu należy zmodyfikować następującą funkcję:
- Transform – Transform
- DualInput – ProcessSamples
- DualOutput – Receive
- Source – DeliverSample
- Sink – Receive
-
Propozyje temetów projektów z Laboratorium Systemów Multimedialnych
Łatwe projekty (max ocena 4)
- Filtr skalujący obraz x2 – 88474
- Filtr skalujący obraz na dowolny rozmiar – 88495
- Filtr konwertujący obraz RGB na YUV – 84315
- Filtr konwertujący obraz YUV na RGB – 88511
- Filtr konwertujący obraz RGB na w odcieniach szarości – 88536
- Filtr konwertujący obraz RGB na sepie – 88481
- Filtr konwertujący obraz RGB na Czarno biały (1 bit) – progowanie – 84421
- Filtr konwertujący obraz RGB na Czarno biały (1 bit) – dither – 88479
- Filtr greenbox’a – 88603
- Filtr nakładający napisy – 88620
- Filtr dokonujący konwersji z RGB do 16 kolorów z metoda ditheru – 88630
- Filtr dokonujący konwersji z RGB do 16 kolorów z metoda kwantowania wektorowego – 88528
- Filtr wyszukujący i śledzący kolorowy kartonik papieru – 88600
- Filtr wyszukujący i śledzący najbliższy obiekt (KINEKT) – 84318
- Filtr nakładajacy logo nadawcy – 88531
- Filtr wyświetlający wektory ruchu – 84414
- Filtr obliczający DCT – 88475
- Filtr odczytujący tekst z pliku oraz filtr wyświetlający tekst – 88619
- Filtr dokonujący predykcji intra – 88613
- Filtr PIP – Picture in the Picture – 88515
- Filtr obracajacy obraz o 90 stopni – 88453
- Filtr obracajacy obraz o dowolny kąt – 88472
- Filtr znaczący obraz – ukrywający tekst w obrazie (Ulotny znak wodny) – 88506
- Filtr detektor znaczonego obrazu – wykrywający ukryty tekst w obrazie (Ulotny znak wodny) – 88506
- Filtr do zakrywania fragmentu obrazu (np twarzy, tablic rejestracyjnych) – 88617
- Filtr przeplatający 2 obrazy w jeden – 88599
- Filtr wyświetlający 2 obrazy w technice anaglifowej – 88594
- Filtr wyświetlający 2 obrazy w trybie obraz przy obrazie (SideBySide) – 88538
- Filtr wyświetlający fps’y – 88616
- Filtr efekt graficzny przestawiający kafelki (puzle) – 88533
Bardziej wymagające projekty (max ocena 5)
- Filtr pobierający obraz z przystawki Kinekt
- Filtr wyszukujący i śledzący twarz (Analiza koloru twarzy) – 88612
- Filtr składający 2 obrazy do jednego obrazu 3D w trybie obraz przy obrazie (SideBySide) – wersja rozszerzona
- Filtr składający obraz i mapę głebi do jednego obrazu 3D w trybie obraz przy obrazie (SideBySide) (KINEKT) – 88595
- Filtr lub Filtry odczytujące obraz 3D z formatu AVI Fujitsu
- Filtr nakładajacy logo nadawcy – wesja rozszerzona – 84251
- Filtry strumieniujące dane przez internet (serwer i klient)
- Filtr strumieniujący dane przez system plików
- Filtr PIP – Picture in the Picture – wersja rozszerzona – 84398
- Filtry zapisujące i odczytujące dane z wykorzystaniem kompresji Huffmana
- Filtry zapisujące i odczytujące dane z wykorzystaniem kompresji LZW – 88483
- Filtr syntezujący obraz z mapy głębi i obrazu (KINEKT) – 84267
- Filtr otwierający pliki MPO (3D)
- Filtr zapisujący pliki MPO (3D)
- Filtr zapisujący pliki JPG – 88490
- Filtr zapisujący pliki BMP – 88526
- Filtr czytajacy QPkody – 88503
- Szybki filtr skalujący obraz x2 (SSE) – Kuik
- Szybki filtr skalujący obraz na dowolny rozmiar (SSE)
- Szybki filtr konwertujący obraz RGB na YUV (SSE) – 84273
- Szybki filtr konwertujący obraz YUV na RGB (SSE) – 88471