Udostępnij przez


Wprowadzenie do filtrów przetwarzania obrazów

Filtr przetwarzania obrazów jest rozszerzeniem WIA. Filtr przetwarzania obrazów służy do dwóch podstawowych celów:

  • Aby umożliwić oddzielenie kodu przetwarzania obrazów od sterownika. Na przykład filtr przetwarzania obrazów może służyć do modyfikowania jasności i kontrastu obrazu oraz do wykonywania deskewingu i rotacji. Filtr przetwarzania obrazów znajduje się w swojej własnej bibliotece DLL, oddzielonej od biblioteki DLL sterownika trybu użytkownika. Filtr przetwarzania obrazów odbiera niefiltrowane dane obrazowania ze sterownika, na którym wykonuje filtrowanie.

  • Aby włączyć dokładne podglądy na żywo. Filtr przetwarzania obrazów jest stosowany w nowym składniku WIA Preview dla Windows Vista (opisanego w dokumentacji zestawu Microsoft Windows SDK), który zapewnia precyzyjne podglądy na żywo. W tym kontekście "live" oznacza, że aplikacja nie będzie musiała ponownie uzyskać obrazu ze skanera po zmianie kilku ustawień właściwości, które zostały omówione w dalszej części tej sekcji. Podglądy są dokładne, ponieważ filtrowanie jest rzeczywiście wykonywane przez komponent dostarczany przez dostawcę na rzeczywistym obrazie podglądu, a nie tylko przypadkowy filtr na całkowicie oddzielnym obrazie.

Aby zapewnić dokładne podglądy, filtr powinien implementować właściwości jasności i kontrastu co najmniej. Wspólny interfejs użytkownika, który zapewnia kontrolki jasności i kontrastu dla użytkownika, umożliwia wyświetlanie dokładnych podglądów.

Filtr przetwarzania obrazów jest zawsze wykonywany podczas skanowania obrazu. Nie ma więc możliwości, aby aplikacja pobierała obraz ze skanera bez uprzedniego zastosowania filtru przetwarzania obrazów. Aplikacja nie musi być świadoma filtru.

Firma Microsoft udostępnia składnik WIA Preview, który buforuje oryginalny, niefiltrowany obraz podglądu uzyskany ze skanera. Składnik Podgląd umożliwia wielokrotne zastosowanie filtru do obrazu bez konieczności ponownego uzyskiwania obrazu ze skanera. Składnik WIA Preview jest zwykle używany do wyświetlania obrazów w wersji zapoznawczej, gdy aplikacja umożliwia użytkownikowi zmianę ustawień, takich jak kontrast i jasność. Podczas gdy użytkownik zmienia ustawienia, aplikacja może stale wyświetlać wynikowy obraz w okienku podglądu bez konieczności ponownego skanowania obrazu.

Filtr przetwarzania obrazów jest rozszerzeniem WIA działającym jako składnik COM w procesie. W przeciwieństwie do filtru segmentacji, aplikacja zazwyczaj nie tworzy wystąpienia samego filtru do przetwarzania obrazów, wywołując IWiaItem2::GetExtension (jak opisano w dokumentacji Windows SDK). Zamiast tego aplikacja utworzy wystąpienie składnika WIA Preview, które z kolei załaduje rzeczywisty filtr do przetwarzania obrazów przy użyciu metody IWiaItem2::GetExtension. Filtr przetwarzania obrazów jest również wywoływany automatycznie, gdy aplikacja wywołuje IWiaTransfer::Download.

Filtr przetwarzania obrazów jest powiązany ze sterownikiem i zwykle dystrybuowany razem ze sterownikiem. Składnik WIA Preview jest dostępny w sti.dll i dostarczany z systemem operacyjnym.

Na poniższej ilustracji przedstawiono filtr przetwarzania obrazów ładowany przez składniki WIA do procesu aplikacji. Należy pamiętać, że istnieje możliwość załadowania więcej niż jednego egzemplarza filtru przetwarzania obrazów w procesie aplikacji w tym samym czasie, dlatego twórcy filtrów muszą podchodzić do tego ostrożnie. Na przykład w przypadku użycia zmiennych globalnych (statycznych) moduł zapisywania filtrów musi zapewnić właściwą synchronizację.

diagram ilustrujący filtr do przetwarzania obrazów ładowany przez składniki WIA do procesu aplikacji.