..:: STRONA GŁÓWNA ::..

  ::..:: INTERNETOWY SERWIS KOMPUTEROWY ::..::

 

MENU

..:: PŁYTY GŁÓWNE
..:: CHIPSETY
..:: PROCESORY
..:: PAMIECI
..:: KARTY GRAFIKI
..:: KARTY DZWIĘKOWE
..:: NAPĘDY OPTYCZNE
..:: KLAWIATURY
..:: MYSZKI
..:: DYSKI TWARDE
..:: STACJE DYSKIETEK
..:: MONITORY
..:: DRUKARKI
..:: SKANERY

LINKI
NVIDIA
ATI
INTEL
AMD
ASUS
ASROC
ECS
GIGABYTE
MSI
EPOX
BIOSTAR
ABIT
D-LINK
PLANET
MATROX
MICROSOFT

Zaprzyjaźnione strony

OSP Zabierzów
www.ospzabierzow.za.pl
Tiuning komputera http://www.hsware.pl/ elektronika
elektronika

SKANERY


 

Co to jest skaner ? Do czego służy ?


W dobie powszechnej wizualizacji przekazu informacyjnego żywe, pełne treści obrazy w znaczący sposób ułatwiają przekazywanie myśli. Aby wszystko to stało się możliwe również za pomocą komputerów potrzebne są urządzenia pozwalające przenieść człowiekowi wierny obraz otaczającej go rzeczywistości do ich wnętrza.
    Skaner, obok aparatu i kamery cyfrowej , jest jednym z takich urządzeń. Dodatkowo prostota obsługi, niska cena i łatwość dostępu powodują jego wciąż rosnącą popularność. Przykładów możliwych zastosowań tego typu urządzenia nie trzeba szukać daleko. Wykorzystując go, użytkownik może wprowadzić do komputera i zaprezentować innym chociażby za pomocą Internetu swoje zdjęcia czy przedstawić własne kompozycje i obrazy. Cyfrowa postać obrazu umożliwia zastosowanie nowych narzędzi, filtrów i specjalistycznych programów znacznie poszerzających spektrum możliwości twórczych użytkownika. Skaner umożliwia również szybką i prostą cyfrową archiwizację dokumentów, gazet i wszelkiego innego tekstu zapisanego na papierze. Po zapisaniu na dysku komputera dokumenty można przechowywać w specjalnym archiwum lub w specjalnie zhierarchizowanym katalogu. Wszystko to zmniejsza prawdopodobieństwo uszkodzenia czy zniszczenia oryginału. Sama możliwość skanowania dokumentów tekstowych to nie wszystko. Przy zastosowaniu specjalistycznego oprogramowania OCR (Optical Character Recognition - optyczne rozpoznawanie znaków) możliwe jest odczytanie przez komputer treści zeskanowanych dokumentów. Szybkie odnajdowanie interesujących fragmentów, cytatów, a nawet pojedynczych haseł ułatwia wtedy znacznie pracę z dużymi dokumentami. Zastosowanie dobrej jakości skanera oraz właściwie skonstruowanego oprogramowania spowodować może znaczące przyspieszenie prędkości pracy z dokumentami o podobnej strukturze.



Rodzaje skanerów


Wśród skanerów możemy dokonać podstawowego podziału na :

a)    tzw. skanery ręczne (ruchome)
b) tzw. skanery płaskie (stacjonarne).
ad. a) Skanery ręczne - to najprostsze z urządzeń tego typu. Ich obsługa polega na przeciąganiu czytnikiem nad wprowadzanym dokumentem. Niestety szerokość skanowanego pola nie przekracza z reguły ok. 10 cm ,toteż urządzenia te nadają się do najprostszych, amatorskich zastosowań. Można za ich pomocą wczytać do programu graficznego zdjęcie standardowego formatu, lecz większe może sprawić problemy. Oprogramowanie takich skanerów przeważnie umożliwia sklejanie z kilku pasków stron większego formatu, nawet A4. Jednak wymaga to dużej cierpliwości i pewnej ręki, to właśnie ze względu na ręczne prowadzenie czytnika każde drgnięcie ręki bądź nieregularne przesuwanie urządzenia powoduje zauważalne, trudne do skorygowania skazy na wynikowym obrazku nie mówiąc już o problemach pojawiających się przy skanowaniu dużych dokumentów. Urządzenia te do niedawna były konkurencyjne cenowo w stosunku do skanerów płaskich, jednak ta sytuacja uległa już zmianie.

ad . b) Skanery płaskie - to skanery w których skanowany dokument układa się w łożu urządzenia, po czym precyzyjny mechanizm przesuwa układ optyczny pod powierzchnią dokumentu. Obraz jest dzięki temu skanowany równomiernie na całej powierzchni (zwykle co najmniej A4), bez deformacji i szarpnięć, a przy okazji znacznie szybciej. Z punktu widzenia najpopularniejszych zastosowań - wczytywania zdjęć i dokumentów tekstowych jest to metoda optymalna.


    Skanery można dodatkowo podzielić według sposobu komunikacji na :
a)    urządzenia SCSI
b)    urządzenia przesyłające dane przez port równoległy.


ad. a) SCSI czyli Small Computer System Interface to uniwersalny sposób komunikacji urządzeń peryferyjnych z komputerem; który pozwala na szeregowe połączenie kilku urządzeń (max.8) sterowanych za pomocą jednego kontrolera zainstalowanego w komputerze.
Obecnie skanery komunikują się z komputerem za pomocą interfejsu SCSI-2, który umożliwia:
-    pracę w tzw. trybie fast (szybkim) ,tj. zwiększenie przepustowości magistrali do 10 MB/s (porównanie SCSI-1 - 5 MB/s);
-    pracę w tzw. trybie wide (szerokim),tj. poszerzenie szyny danych magistrali do 16 lub 32 bitów (porównanie SCSI-1 - 8);
-    kombinację trybów fast - wide co teoretycznie umożliwia uzyskanie transmisji do 40 MB/s.(wymaga to jednak rozszerzenia sprzętowego, tj. dodatkowego 68 żyłowego przewodu).
Zastosowanie tego standardu do komunikacji skanera z komputerem zapewnia dużo szybsze przesyłanie informacji (zauważalne przy skanowaniu z dużą rozdzielczością ). Ponieważ nie każdy komputer wyposażony jest w kontroler SCSI, większość producentów ze skanerem dostarcza prosty sterownik. Niestety proste kontrolery ISA nie do końca wykorzystują zalety standardu. Cechą dodatkową takich skanerów jest dość wysoka cena.

ad. b) Skanery takie łączone są z komputerem za pomocą kabla IEEE 1284 . Komunikacja następuje w standardzie EPP, czyli w szybkiej dwukierunkowej wymianie danych. Zaletą takiego rozwiązania jest niska cena i prostota instalacji. Dodatkowo użytkownik może zaopatrzyć się w odpowiedni kabel połączeniowy , za pomocą którego skaner może być łączony z portem drukarki. Zastosowanie takiego rozwiązania nie zmusza do zrezygnowania ze stosowania posiadanej drukarki- zamiast do komputera podłącza się ją do umieszczonego w skanerze gniazda przelotowego.


Jak widzi skaner czyli sposób przetwarzania obrazu


    Podobnie jak otaczający nas świat obraz jest zjawiskiem o charakterze ciągłym. Przybliżając , np. za pomocą lornetki, widok tego samego fragmentu krajobrazu, można zauważyć stały wzrost ilości zauważalnych elementów. Komputer operuje jednak na skończonym zbiorze wartości liczbowych. Aby więc umożliwić wprowadzenie obrazu do pamięci komputera, należało opracować metodę odwzorowania ciągłej, nieskończonej postaci obrazu na jej odpowiednik elektroniczny - nieciągłą i skończoną postać cyfrową, czyli mozaikę pikseli.
    Zasada rozpoznawania kolorów przez skaner przypomina sposób ich postrzegania przez ludzkie oko. Analizowany jest udział trzech podstawowych kolorów - czerwonego, zielonego i niebieskiego. Dobór takich barw związany jest z " konstrukcją" oka. Na jego dnie znajdują się dwa rodzaje światłoczułych receptorów: pręciki reagujące na jasność światła oraz występujące w trzech rodzajach czopki, czułe na różne długości fal elektromagnetycznych, odpowiadające wspomnianym barwom. Wrażenie koloru docierające do mózgu człowieka to suma wartości bodźców pochodzących od wszystkich czterech rodzajów receptorów.
    Cyfrowym "okiem" większości popularnych skanerów stołowych są elementy światłoczułe CCD (Charge - Coupled Device). Każdy z nich jest miniaturowym fotometrem, który mierzy natężenie padającego nań światła i przekazuje wynik pomiaru ( w postaci sygnału analogowego) do dalszej obróbki.

Zasada działania


Elementy CCD znajdują się na przesuwającej się wewnątrz skanera listwie. Przeznaczony do wprowadzenia do komputera oryginał umieszcza się na szklanym blacie, zwracając go analizowaną stroną do wnętrza urządzenia. Podczas skanowania dokument oświetlany jest przez lampę ksenonową, halogenową lub fluoroscencyjną. Specjalny układ optyczny kieruje wiązkę światła , by pokryć całą powierzchnię dokumentu. Odbita od materiału refleksyjnego (np. papierowego dokumentu) lub przepuszczona przez materiał transparentny (np. przeźrocze) wiązka światła, przechodzi przez filtry odpowiedzialne za poszczególne składowe koloru i trafia do elementów CCD. Otrzymany z nich sygnał odwzorowany w postaci cyfrowej po wstępnej obróbce przesyłany jest do komputera. Podczas skanowania kolorowych dokumentów do niedawna stosowano technikę trójprzebiegowego skanowania - każda z trzech analiz odpowiadała za jedną z trzech
składowych barw. Takie rozwiązanie miało jednak wiele wad, w tym np. długi czas oczekiwania oraz niedokładne nakładanie kolorów. Obecnie tego typu urządzeń praktycznie się nie spotyka, a współczesne jednoprzebiegowe skanery pracują dużo szybciej i z większą dokładnością. Analiza barw wykonywana jest jednocześnie dla wszystkich składowych, co znacznie poprawia zbieżność kolorów.
   

Podstawowe parametry określające skanery


    Podstawowymi parametrami określającymi skaner są:
a)    rozdzielczość optyczna
b)    dokładność reprezentacji barwnej.

ad. a)    Od liczby elementów CCD na przesuwającej się pod szklanym blatem listwie zależy, z jaką poziomą dokładnością zostanie przetworzony badany oryginał. Otrzymana w ten sposób informacja o optycznej poziomej rozdzielczości skanera podawana jest w jednostkach ppi lub dpi, co w skrócie oznacza liczbę analizowanych punktów obrazu na cal. Skaner o większej liczbie elementów światłoczułych przypadających na elementarny fragment obrazu potrafi rozpoznawać w nim więcej szczegółów.
Rozdzielczość pionowa skanera jest przeważnie odmienna od poziomej. Ponieważ listwa skanująca może poruszać się wzdłuż dokumentu z dowolną ustaloną prędkością, na różny sposób można zdefiniować pionowy rozmiar obszaru odpowiedzialnego za pojedynczy piksel obrazu. Powszechnie stosowanym przez producentów rozwiązaniem jest metoda polegająca na skanowaniu dokumentu z maksymalną rozdzielczością pionową udostępnianą przez układ mechaniczny i optyczny skanera. Następnie, zależnie od oczekiwanej przez użytkownika dokładności, z otrzymanego obrazu automatycznie usuwane są nadmiarowe linie poziome. Nowszym sposobem jest dynamiczne dostosowywanie wielkości badanych obszarów w zależności od oczekiwanej przez użytkownika rozdzielczości cyfrowego odpowiednika. Dzięki takiemu podejściu zwiększana jest prędkość działania urządzenia. Poprawia się również jakość otrzymywanych rezultatów. Często zdarza się, że producent podając informację o rozdzielczości skanera podaje dwie pary liczb. Wówczas to mniejsze wartości informują o faktycznej rozdzielczości optycznej skanera, natomiast większe wartości to tzw. rozdzielczość interpolowana. Metoda pozwalająca uzyskać dokładność większą od optycznej polega na matematycznej obróbce obrazu wprowadzonego z podstawową rozdzielczością za pomocą specjalnych algorytmów. W rzeczywistości, pomimo stosowania bardzo zawansowanych algorytmów rozdzielczość interpolowana nie gwarantuje , że rezultat będzie dokładniejszy od oryginału.

ad. b) Drugim z parametrów określających skaner jest jego dokładność odwzorowania. Parametr ten określa liczbę bitów opisujących jasność i natężenie barw składowych. Przykładowo skaner o dokładności odczytu równej 1 (1 bit) mógłby zapisać tylko dwie informacje - badany punkt jest "jasny" albo "ciemny". Przy zapisie 2- bitowym możliwe są już cztery wartości, przy zapisie 4- bitowym jest ich 16 itd. Urządzenie o dokładności odwzorowania równej 8 bitów na punkt potrafi odwzorować 256 wartości natężenia jasności, co przy zastosowaniu 8 bitów na każdą składową barwę daje w efekcie liczbę możliwych do przyjęcia wartości równą 224 , czyli około 16 milionów stanów. Współczesne skanery oferują coraz częściej dokładność równą 36 bitom na punkt, przeważnie jednak urządzenia wyjściowe (np. kart graficzna) nie pozwalają na przeniesienie tak szerokiego zakresu wartości. Przy poważniejszych zastosowaniach tego typu nadmiarowe informacje są jednak użyteczne i przy wykorzystaniu profesjonalnego oprogramowania graficznego pozwalają na dużo większą swobodę działania.


Komunikacja z komputerem


Do komunikacji skanera z komputerem oprócz omówionych wcześniej dróg przesyłu informacji (port równoległy, SCSI) potrzebny jest zarządca kontrolujący wymianę napływających danych. W przeszłości każdy z producentów stosował własną metodę komunikacji, toteż często tylko oprogramowanie producenta bezbłędnie współpracowało z urządzeniem. Zmuszało to użytkownika do skanowania do skanowania pod kontrolą firmowej aplikacji, przeważnie dalekiej od spełnienia jego oczekiwań.
Lepszym rozwiązaniem jest korzystanie z uniwersalnych sterowników współpracujących z dowolną aplikacją. Obecnie opracowany przez największych producentów sprzętu standard TWAIN rozwiązał problem komunikacji urządzeń i w znacznym stopniu przyczynił się do uproszczenia obsługi skanerów. Podstawowym zadaniem interfejsu jest zarządzanie wszystkimi urządzeniami, które przesyłają do komputera obraz w postaci cyfrowej. Aby korzystać z dobrodziejstw standardu, producent sprzętu projektuje tylko jeden sterownik, potocznie zwany źródłem (TWAIN Source), który na żądanie udostępnić musi każdy, nawet najdrobniejszy techniczny opisywanego urządzenia.
Rolę sterującą interfejsu pełni zarządca źródeł TWAIN (TWAIN Source manager). Jeśli system operacyjny otrzyma z poziomu aplikacji graficznej zgłoszenie aktywacji interfejsu - np. poprzez żądanie pobrania (ang. acquire) danych ze skanera - wówczas automatycznie wywoływany jest zarządca TWAIN. Uruchamia on odpowiedni moduł sterownika - w systemie Windows jest to specjalna biblioteka DLL - i odczytuje z niego charakterystykę urządzenia. Uzyskuje on w ten sposób na przykład informacje o tym, jakie
rozdzielczości oferuje skaner, jakie tryby pracy udostępnia - kolorowy , w odcieniach szarości czy czarno - biały - oraz czy dysponuje dodatkowymi mechanizmami przetwarzania obrazu - np. korekcją kontrastu i jasności. Drugim ważnym elementem, za który odpowiada TWAIN, jest interfejs użytkownika. Za jego pomocą wybiera się opcje skanowania, obszar, tryb pracy itp. W zależności od zaangażowania producenta przygotowany przezeń interfejs lepiej lub gorzej wykorzystuje potencjał urządzenia. Zarządca źródeł TWAIN za pośrednictwem interfejsu wyświetla aktualne parametry pracy i pozwala na ustalenie konfiguracji odpowiadającej charakterowi wczytywanych ze skanera danych.



Jakość odwzorowania obrazu.


    Największy wpływ na ocenę jakości skanów ma analiza ostrości uzyskanych rezultatów i wierność odwzorowywania barw. Szczególną należy zwrócić na zachowanie właściwych proporcji w tonacji i kolorystyce oraz na nasycenie kolorów poszczególnych fragmentów skanowanego dokumentu.
    Testy przeprowadzane przez specjalizowane laboratoria potwierdzają, że skanery o wyższej deklarowanej wartości rozdzielczości maksymalnej wykazują lepszą sprawność przy przenoszeniu wyższych częstotliwości wzorów występujących w digitalizowanych obrazach, co umożliwia uzyskanie obrazów w większej liczbie rozróżnialnych szczegółów. W testach tych najlepsze rezultaty osiągnęły te modele skanerów, których rozdzielczość optyczna wynosiła 600 dpi. ?redni współczynnik pomiaru sprawności, dla najlepszych skanerów ( Trust EasyScan 19200 oraz Microtek Scanmaker 630 - wynosił 75% idealnej wartości).
    Pomiary rozróżnienia odcieni wykazały przewagę urządzeń o większej liczbie bitów przeznaczonych na opis barwy pojedynczego piksela. Wnioski wypływające z otrzymanych rezultatów nie uprawniają jednak do stwierdzenia, że skanery o mniejszej głębi kolorów produkują znacznie gorsze rezultaty od analogicznych urządzeń o dokładności np. 30 czy 36 bitów.

Oprogramowanie OCR i ICR


Mimo dynamicznego rozwoju publikacji elektronicznych i Internetu papier, wynaleziony przez Chińczyków prawie dwa tysiące lat temu, nadal jest najchętniej używanym medium do przekazywania "słowa pisanego". Dlatego też od początku rozwoju techniki komputerowej pojawił się problem przenoszenia informacji z komputera na papier, drukowania, a także odczytywania informacji z papieru i przekładania jej na język zrozumiały dla przeciętnego peceta. Rozwiązywaniem drugiego z wymienionych zadań, czyli rozpoznawaniem tekstu, zajmują się systemy typu OCR (Optical Character Recognition - optyczne rozpoznawanie znaków). W tej chwili systematycznie zastępują je młodsi bracia, tak zwane systemy ICR (ang. Intelligent Character Recognition - inteligentne rozpoznawanie znaków), których "inteligencja" polega na wykorzystywaniu algorytmów rozpoznawania wzorowanych na ludzkim sposobie percepcji.
Z całą pewnością żadnego użytkownika komputera nie trzeba dzisiaj zachęcać do używania drukarki, natomiast wykorzystywanie skanera i oprogramowania OCR nie jest jeszcze zjawiskiem powszechnym. Wyobraźmy sobie zatem taką sytuację: jest piękne, piątkowe popołudnie, właśnie przygotowujemy się do wyjścia z biura, gdy nagle otrzymujemy od szefa polecenie natychmiastowego opracowania dziesięciostronicowej umowy (czy cennika, oferty, artykułu, itp.) dla jednego z kontrahentów. Jak to w życiu bywa, wzorcowy tekst umowy "wyparował" nam z komputera podczas ostatnich porządków na dysku twardym i pozostała jedynie jego papierowa wersja. Cóż więc możemy z tym fantem zrobić? Pierwsze rozwiązanie to wyjaśnienie szefowi problemów z wywiązaniem się z polecenia i sugestia, iż dopiero w przyszłym tygodniu sprawa zostanie załatwiona - jest to rozwiązanie nieeleganckie i na pewno nie wpłynie pozytywnie na naszą karierę zawodową. Drugi pomysł to ręczne "wklepanie" od początku całego tekstu. W tym wypadku sukces jest gwarantowany, umowa zostanie przygotowana, ale prawdopodobnie wyjdziemy z biura późnym wieczorem. Ponadto, przepisując tekst z kartki możemy popełnić wiele pomyłek, których korekta może potrwać długo. Najlepszym wyjściem jest rozwiązanie trzecie - jeżeli w biurze mamy skaner i program OCR, możemy szybko ze skanować wydruk umowy ( skanowanie jednej strony A4 trwa, w zależności od skanera, ok. 20-40 sekund ), a następnie automatycznie przekonwertować obraz strony na tekst i zapisać w formacie używanym przez nasz edytor. Proces konwersji, czyli rozpoznawania tekstu, w zależności od jakości wydruku, wielkości czcionki, typu komputera oraz oczywiście rodzaju oprogramowania OCR może zająć od 30 sekund do kilku minut na jedną stronę. Przy odrobinie wprawy całkowity czas wczytania umowy wraz z jej korektą i przygotowaniem poprawek dla szefa nie powinien, w naszym przypadku, przekroczyć godziny! Dziesięć stron tekstu to około 4500 wyrazów, w najgorszym przypadku daje to prędkość rozpoznawania i korekty równą 75 słowom na minutę, czego pozazdrościć nam może nawet bardzo wprawna maszynistka. W nagrodę mamy wolne całe piątkowe popołudnie i uznanie szefa.
    Nowoczesne oprogramowanie ICR nie realizuje wyłącznie rozpoznawania pojedynczych znaków. Proces konwersji zdjęcia na tekst przebiega w czterech etapach, z których każdy wykorzystuje zaawansowane algorytmy, niejednokrotnie opracowane na bazie skomplikowanych teorii naukowych. Skuteczność działania każdego z etapów wpływa znacząco na jakość danego programu ICR.
    Pierwszy etap to wstępne przetworzenie obrazu strony (Preprocessing). Na tym etapie automatycznie wykrywana i korygowana jest orientacja tekstu na stronie - program sprawdza, czy wydruk nie został włożony do skanera "do góry nogami" lub koryguje często występujące "przekręcenie tekstu" (gdy wiersze z tekstem nie są równoległe do podstawy dokumentu). Również w tym kroku program ustala, czy ma do czynienia z drukiem "czarno na białym", czy też wydruk jest negatywem - białe litery na czarnym tle. Podczas przetwarzania wstępnego niektóre programy ICR wykonują różnego typu filtracje, usuwając np. drobne kropki i zakłócenia, co może wpłynąć na poprawę skuteczności następnych etapów.
W trakcie segmentacji (Atto Zoning lub Page Decomposition), drugiego etapu przetwarzania, program automatycznie wykrywa te fragmenty obrazu, które warto rozpoznawać. Rezultatem tej operacji jest wyróżnienie w obrazie dokumentu obszarów zawierających tekst (Text Zones), grafikę lub zdjęcia (Graphic Zones) oraz tabelek (Table Zones). Dodatkowo ustalana jest kolejność obszarów tekstowych, tak aby wynik rozpoznawania jak najdokładniej odzwierciedlał logiczny porządek tekstu w skanowanym dokumencie. Regułą jest to, że użytkownik może manualnie skorygować rezultat segmentacji.
Kolejny etap to rozpoznawanie znaków (Character Recognition). Podczas rozpoznawania obraz dokumentu, wiersz po wierszu, znak po znaku, zamieniany jest na tekst. Nowoczesne programy ICR wykorzystują co najmniej dwie, równolegle działające metody konwersji obrazu na znaki, a ostateczny rezultat tejże konwersji weryfikuje i ustala specjalny system ekspertowy. W rozpoznawaniu może aktywnie uczestniczyć użytkownik, "podpowiadając" komputerowi wówczas, gdy ten ma kłopot z rozpoznaniem określonego znaku. "Podpowiedź" taką program zapamiętuje i wykorzystuje przy przetwarzaniu kolejnych fragmentów tekstu, gdy napotka podobnie wyglądający znak.
Ostatnim krokiem jest analiza językowa (Language Analysis). W prostszych systemach OCR analiza językowa jest całkowicie oddzielona od etapu rozpoznawania znaków i sprowadza się do wykrywania literówek (Spell Checking) na podstawie słownictwa wybranego języka. W programach ICR algorytmy analizy językowej uczestniczą w rozpoznawaniu znaków i pełnią funkcję ekspertów przejmujących odpowiedzialność za ostateczny wynik, a wykorzystują do tego wiedzę zarówno o słownictwie, jak i o gramatyce.


Wzorce i sieci neuronowe


    Podstawowe algorytmy rozpoznawania znaków drukowanych funkcjonują już od ponad 25 lat. Początkowo był to stosunkowo prosty, sprzętowy mechanizm polegający na porównywaniu pojedynczych liter z ich odpowiednikami na liście wzorców. W połowie lat sześćdziesiątych wprowadzone zostały w tym celu dwa znormalizowane zestawy znaków: OCR-A i OCR-B. Jeszcze dzisiaj tego typu czcionki są stosowane w polach kodowych czeków bankowych. Jeśli odczytany obraz znaku będzie zgodny z obiektem wzorcowym, przechowywanym w pamięci, to jest mu przyporządkowywany odpowiedni kod ASCII i daną literę uznaje się za rozpoznaną. W praktyce oznacza to, że każda litera A, B lub C jest identyfikowana tylko wówczas, gdy wygląda identycznie jak odpowiadający jej znak wzorcowy. W przeciwnym wypadku litera taka będzie ignorowana bądź sygnalizowana jako błąd.
    Później na rynku pojawiły się bardziej zaawansowane urządzenia odczytujące, które oprócz znaków OCR-A i OCR-B potrafiły także rozpoznać standardowe pisma maszynowe. Nadal jednak do tego celu była wykorzystywana technika "porównywania ze wzorcem" (Matrix Matching), polegająca na porównywaniu rozpoznawanego znaku z zapamiętanym, matrycowym wzorcem czcionki. Wystarczyły niewielkie odstępstwa kształtu czcionki od zdefiniowanego wzorca, aby skutecznie uniemożliwić rozpoznanie tekstu.
    Dopiero od 1975 roku technika porównywania ze wzorcem została zastąpiona techniką "analizy cech charakterystycznych" (Feature Recognition). W przypadku analizy szczegółów typograficznych każdej litery nie dokonuje się porówna z zapamiętanymi obrazami czcionek, lecz poszukuje się charakterystycznych kształtów krzywizn, współczynników kątowych, elementów kolistych oraz proporcji między liniami poprzecznymi i podłużnymi. Z uwagi na fakt, że matematyczno -geometryczne opisy liter są w zdecydowanej większości przypadków niezmienne (np. litera "p" składa się zazwyczaj z długiej, pionowej kreski "ę" i kółeczka "o" przyklejonego do tejże kreseczki po jej prawej stronie, w górnej części), taka metoda może być stosowana do rozpoznawania różnego typu czcionek i różnej wielkości pisma. Dlatego też technika ta nosi nazwę metody "omnifont" (łac. omni - wszyscy). Pierwszym urządzeniem, które korzystało z opisanej wyżej metody, był wdrożony w 1975 roku czytnik KRM (Kurzweil Reading Machine) nazwany tak na cześć swojego twórcy - Raymonda Kurzweila.
    Początek lat osiemdziesiątych zaowocował nagłym rozwojem nowej dziedziny nauki jaką była teoria sztucznych sieci neuronowych (Artificial Neural Network Theory lub Neurocomputing). Niemal natychmiast sieci neuronowe znalazły zastosowanie w algorytmach rozpoznawania tekstu.
    Początkowo ANN (Artificial Neural Networks) wykorzystywane były wyłącznie jako klasyfikatory; na podstawie dostarczonej na wejście informacji o matematyczno - geometrycznych cechach znaku podejmowały decyzję o tym, jaki to znak. Zaletą sieci neuronowej, w porównaniu z klasyczną techniką analizy cech charakterystycznych, była możliwość uczenia się "na przykładach". Wystarczyło "przeszkolić" sieć, prezentując jej treningowy zestaw czcionek, a ta sama wyrabiała sobie "ogólną" wiedzę na temat kształtów poszczególnych znaków.
    We współczesnych systemach ICR sieci neuronowe stosowane są wówczas, gdy za wodzą inne techniki rozpoznawania znaków. Architektura sieci neuronowej do rozpoznawania pisma wzorowana jest na strukturze połączeń występujących w tej części mózgu człowieka, która zajmuje się przetwarzaniem informacji wizualnej (Visual Cortex). Sieć nie tylko klasyfikuje cechy, ale także sama je wykrywa - specjalnie połączone warstwy neuronów są w stanie, w trakcie uczenia, "wyłuskać" z pikselowego obrazu zadanego znaku cechy geometryczne odróżniające go od innych liter. Dodatkowo niektóre modele ANN potrafią skutecznie rozpoznawać całe sekwencje mocno zdeformowanych i zakłóconych znaków bez konieczności podziału sekwencji na pojedyncze litery. Jest to tak zwane rozpoznawanie "bezsegmentacyjne" (ang. Segmentation Free Method), w którym stosuje się techniki przetwarzania podobne do stosowanych w rozpoznawaniu mowy.
    Mimo wielu zalet zaawansowane ANN mają wady wykluczające, przynajmniej na razie, możliwość zastosowania sieci neuronowej jako jedynego algorytmu rozpoznawania. Jedną z podstawowych wad jest relatywnie długi czas wyliczania stanu sieci. Przykładowo, skonstruowany na początku lat dziewięćdziesiątych i wzorowany na budowie mózgu Neocognitron - sieć do rozpoznawania pojedynczych znaków alfanumerycznych - złożony był z 70 045 neuronów (elementarnych jednostek obliczeniowych) i czas wyliczania odpowiedzi sieci, po wprowadzeniu na wejście jednego znaku, przekraczał trzy minuty! Do symulacji Neocognitronu używano wówczas komputera typu Sun SparcStation.
    Praktyczne implementacje rozbudowanych sieci neuronowych są obecnie bardzo mocno optymalizowane i często wykorzystują najnowsze osiągnięcia techniki mikroprocesorowej (np. w przypadku symulatorów specyficzne właściwości arytmetyki zmiennoprzecinkowej). Jednak prędkość rozpoznawania "neuronowego" jest średnio o rząd mniejsza niż prędkość rozpoznawania metod klasycznych typu "omnifont".
    W komercyjnych programach ICR w rozpoznawaniu znaków uczestniczy kilka algorytmów, a w zależności od jakości wydruku udział każdego z nich może być różny. Dla tekstu pisanego ładnym, czytelnym drukiem stosuje się szybkie rozpoznawanie "omnifont". W tekście gorszej jakości niektóre wiersze, lub ich części, mogą być rozpoznawane przez bardziej rozbudowane modyfikacje algorytmu "omnifont" bądź sieci neuronowe. W każdym z wymienionych przypadków stosowane jest także proste porównywanie ze wzorcem, dzięki któremu użytkownik może "uczyć" program, wprowadzając do rozpoznawania np. nietypowe znaki.

Rozpoznawanie błędów


    Komputer to urządzenie, które w trakcie obliczeń posługuje się bardzo prostym i klarownym systemem liczbowym - klasyczną logiką dwuwartościową. Coś może być "prawdą" lub "fałszem" i wtedy odpowiedni bit we właściwym rejestrze lub komórce pamięci przyjmuje wartość "0" lub "1". Każdy, najbardziej elementarny proces obliczeniowy polega na przekształcaniu szeregu wartości typu "prawda" i "fałsz" na inny tego typu szereg, według ściśle określonych i zarazem prostych reguł logicznych. Nawet skomplikowane operacje zmiennoprzecinkowe są w istocie żonglowaniem wartościami typu "prawda" i "fałsz". W odróżnieniu od tego typu działań w naturalnych i sztucznych sieciach neuronowych proces przetwarzania informacji podlega tzw. logice rozmytej (fuzzy logic, fuzzy = niewyraźny, zamazany), w której funkcjonuje nie tylko pojęcie "prawdy" i "fałszu", ale także występują pojęcia pośrednie typu "częściowa prawda" lub "nie do końca fałsz". W istocie przy takich założeniach wynik dedukcji logicznej przyjmuje wartość analogową z zakresu od "0" do "1", przy czym "0" oznacza "absolutny fałsz", a "1" wskazuje na "całkowitą prawdę".
    Logika rozmyta wykorzystuje fakt, iż ludzki mózg potrafi sensownie rozwiązywać problemy nawet wtedy, gdy nie ma jednoznacznie określonych parametrów. W procesie podejmowania decyzji korzysta on bowiem z takich wartości przybliżonych, jak "mniej więcej", "prawie" czy też "w znacznym stopniu".
    Podobnie jak człowiek "rozumują" również systemy ekspertowe bazujące na logice rozmytej, umieszczone w programach ICR. Działają one w sposób analogowy, a nie cyfrowy - znają więc nie tylko słowa "tak" i "nie", ale także "dużo" i "mało".
Bezpośrednim rezultatem wykorzystania logiki rozmytej jest możliwość tworzenia wielu wariantów rozpoznawania, np. jeżeli znak został rozpoznany na 60% jako litera "F", to być może na 30% jest to litera "E", ewentualnie litera "P" na 10%. Co więcej, każdy algorytm uczestniczący w rozpoznawaniu znaku może postawić różne hipotezy co do prawdopodobieństwa wystąpienia każdego z wariantów, a wiarygodność tychże hipotez musi ocenić dodatkowy ekspert. W efekcie wynik rozpoznawania jednego wiersza tekstu to graf opisujący wszystkie możliwe sekwencje znaków z prawdopodobieństwem wystąpienia znaku na zadanej pozycji.
    Tam, gdzie pojawia się wiele wariantów, mamy do czynienia z problemem wyboru tego "najlepszego". Dzięki zastosowaniu logiki rozmytej i sztucznych sieci neuronowych dla każdego wiersza z tekstem możemy uzyskać wiele różnych sekwencji słów. Powszechnie stosowaną i dającą bardzo dobre wyniki metodą jest w tym wypadku zastosowanie analizy językowej.
W najprostszym przypadku spośród wszystkich, wygenerowanych przez rozpoznawanie słów można wykluczyć te, które zawierają "podejrzane" sekwencje liter, np. "iy" czy też "iii". Ten rodzaj analizy językowej nie wymaga od programu przechowywania pełnej listy słów danego języka, a więc jest relatywnie mało "zasobochłonny" i szybki. Pamiętana jest jedynie częstość występowania zadanej sekwencji liter w konkretnym języku. Lepsze rezultaty daje algorytm, który "zna" pełną listę słów z danego języka i potrafi szybko ocenić, czy rozpoznane słowo znajduje się na tejże liście. Nawet dla języka polskiego, w którym pełny zbiór słów, wraz ze wszelkimi postaciami fleksyjnymi, liczy sobie ponad półtora miliona haseł (pięć razy więcej niż w języku angielskim), algorytmy analizy językowej potrafią skutecznie porównać z listą blisko 6000 jednostek leksykalnych na minutę (czytaj: "słów na minutę"), a cały materiał językowy mieści się w niespełna 2 MB pamięci RAM.
    Są jednak sytuacje, w których analiza językowa, oparta wyłącznie na przeglądaniu słownika, nie daje poprawnych wyników. Przykładem może być wynik rozpoznawania podający jako warianty słowa "mila" i "miła". Każde z tych słów występuje w języku polskim, zatem o wyborze jednego z nich zadecydują prawdopodobieństwa rozpoznań poszczególnych znaków. W złej jakości wydrukach różnice między literą "l" a "ł" są tak nieznaczne, że algorytmy rozpoznawania przypiszą każdej z liter takie samo prawdopodobieństwo, równe 50%. Pomocna w tym wypadku mogłaby być analiza gramatyczna, która oceni, czy w rozpoznawanym zdaniu powinien pojawić się w danym miejscu rzeczownik "mila", czy też przymiotnik "miła".
    Praktyczna implementacja analizy gramatycznej wymaga jednak znacznie większej ilości danych, a w szczególności konieczne jest zdefiniowanie i zakodowanie reguł gramatycznych obowiązujących w danym języku, np. za pomocą formalnego narzędzia typu HPSC (Head-drive Phrase Structures Grammar). O ile tego typu opisy, dla języków tzw. pozycyjnych, np. języka angielskiego, funkcjonują już w systemach komercyjnych, o tyle implementacja tego typu analizy dla języka polskiego (który jest językiem fleksyjnym) nie została do tej pory zrealizowana w jakimkolwiek komercyjnym ani też akademickim systemie ICR.


Oprogramowanie do "obróbki" grafiki.


    Programy do obróbki grafiki można podzielić na kilka grup, obierając za kryterium wydajność czy przeznaczenie. Najprostsze z najbardziej znanych programów do obróbki grafiki to Paint Shop Pro, PhotoFinish oraz PhotoMagic. Aplikacje te pozwalają na pracę jedynie w trybie RGB ( Red Green Blue ) - lecz są one wystarczające w zastosowaniach amatorsko - domowych. Istnieją także programy oferujące nietypowy interfejs użytkownika wraz ze zbiorem gotowych szablonów graficznych, które pozwalają wejście w świat cyfrowej obróbki obrazu nawet początkującym użytkownikom. Na najwyższych półkach znajdują się programy najwyższej klasy, używane przede wszystkim przez profesjonalistów. Charakteryzują się one znaczną złożonością i bogatą paletą oferowanych funkcji, umożliwiając niezwykle precyzyjne definiowanie poszczególnych parametrów obrazu.
    Wiele programów do obróbki grafiki oferuje specyficzne tylko dla siebie funkcje, lecz istnieje pewien zestaw narzędzi, które powinien posiadać każdy program graficzny. Należą do nich:
-    narzędzie selekcji ( pozwala na zaznaczenie jakiegoś obszaru obrabianego obiektu i umożliwia edycję tego obszaru)
-    obracanie ( pozwala na obracanie obiektu o 90 i 180 stopni, choć wiele programów posiada możliwość obracania o dowolny kąt. Funkcja bardzo przydatna, zwłaszcza gdy orientacja skanowanego obrazu jest odmienna od tej, której oczekujemy.)
-    wyostrzanie
-    zmiana rozmiarów
-    zmiana głębi kolorów
Do bardziej zaawansowanych narzędzi należą:
-    narzędzia korekcji koloru
-    narzędzia regulacji kontrastu
-    filtry
-    dodatkowe efekty (rastrowanie, transformacja psychodeliczna, dodawanie i usuwanie szumów)
-    efekty dwu lub trójwymiarowe zależne od inwencji autorów oprogramowania
    Oczywiście im wyższej klasy program graficzny tym więcej funkcji posiada, a jakość ich działania jest wyższa. Jednym z najlepszych pakietów dla profesjonalistów jest zawierającym wiele specjalistycznych narzędzi jest pakiet CorelDRAW, którego wadą jest praktycznie tylko wysoka cena, wynosząca około 2000 zł, co powoduje, że na jego zakup mogą sobie pozwolić praktycznie tylko firmy ( i to nie wszystkie ). Podobna sytuacja ma miejsce w przypadku programu PhotoShop, którego cena to ok. 3000 zł.
    Z punktu widzenia zastosowań domowych najrozsądniejsze rozwiązanie do dobrej jakości programy shareware lub proste ( co nie oznacza, że złe) programy komercyjne np. Windows Draw, Paint Shop Pro, Microsoft PictueIt!, PhotoFinish, PhotoSuite. Programy te oferują funkcje, które są niezbędne do przetwarzania grafik "na domowe potrzeby" np. do komputerowego archiwum fotograficznego, choć nie posiadają one "bajerów" oferowanych przez duże, komercyjne kombajny, to ich brak nie jest zbyt dokuczliwy, gdyż z większości z nich nigdy nie skorzystalibyśmy w zastosowaniach domowych.

    Tryb RGB (Red Green Blue) - w tym trybie barwy wtórne, czyli mieszane, powstają w wyniku kombinacji trzech barw podstawowych - czerwonej (red), zielonej (green), niebieskiej (blue). Jeśli wszystkie te barwy występują z pełną intensywnością powstaje biel. Z barw zielonej i czerwonej powstaje barwa żółta. Czerwony i niebieski dają karmazynowy , a niebieski i zielony - turkus.
    Tryb CMYK (Cyan, Magenta, Yellow, blacK) - wykorzystywany jest przy przenoszeniu efektów skanowania na papier, gdyż drukowanie w RGB daje rezultaty mdłe i bez wyrazu, choć teoretycznie nie powinno to mieć miejsca ( w praktyce okazuje się, że RGB sprawdza się jedynie w przypadku światła emitowanego ). Na wydrukach jasne, świetliste barwy łatwiej można otrzymać używając barw: Cyan ( turkusowy ), Magenta ( karmazynowy ) i Yellow (żółty). Z barwy żółtej i karmazynowej powstaje czerwień, z karmazynowej i turkusowej - błękit, a z turkusu i żółtego - zieleń. Wszystkie kolory podstawowe dają czerń jedynie w teorii. W praktyce powstaje ciemny, brudny brąz. Dlatego w praktyce do palety barw podstawowych dodawany jest jeszcze kolor czarny (blacK).
   

Przechowywanie grafiki na twardym dysku ( BMP, JPEG, gif )



Po ze skanowaniu, każdy obrazek musi być zapisany na dysku ( jeżeli chcemy go zachować ). I tu zaczynają się problemy z doborem odpowiedniego formatu zapisu ( a właściwie kompresji ) danych. Do wyboru mamy kilka możliwych formatów danych, z których każdy ma swoje wady i zalety. Najbardziej znane formaty to BMP, JPEG i gif.

Format BMP charakteryzuje się brakiem zniekształceń wprowadzanych do grafiki, jednak jego wadą są ogromne rozmiary grafik zapisanych w tym formacie co jest spowodowane przez to, że w formacie tym nie ma miejsca żadna kompresja, a zapis odbywa się poprzez zapisanie w pliku parametrów każdego piksela i z tego powodu formatu tego nie stosuje się do przechowywania grafiki.
JPEG stosowany jest do grafiki 24 - bitowej. Stąd najczęściej korzysta się z niego przy zapisie standardowych fotografii, jak portrety czy obraz tła itp. Użycie tego formatu nie powoduje zmian w poziomach jasności, jednak tracone są informacje dotyczące odcieni barw, które przy każdym otwarciu pliku muszą być interpolowane ( obliczane na podstawie funkcji matematycznych ). Zapis w formacie JPEG umożliwia ustalenie stopnia kompresji danych (im większy stopień kompresji, tym mniejszy plik, ale gorsza jakość i odwrotnie).
gif natomiast stosowany jest do grafiki 8 bitowej w 256 kolorach. W przypadku fotografii jest zwykle za mało, choć przy zwykłych grafikach o niewielkiej liczbie odcieni w zupełności wystarcza. W takiej sytuacji użycie gif-a zamiast JPEG-a jest znacznie bardziej korzystniejsze, ponieważ nie tracimy ani bitu informacji należących do obrazu.

Perspektywy rozwoju.


    Najnowszej generacji oprogramowanie do skanerów potrafi samodzielnie rozpoznać rodzaj skanowanego dokumentu, dopasowuje na bieżąco tryb pracy i automatycznie koryguje tryb pracy urządzenia. Najbardziej wyrafinowane sterowniki potrafią nawet automatycznie tak dobierać rozdzielczość, aby nie pojawiały się zakłócenia w obrazie skanowanego dokumentu, charakterystyczne przy transformacji danych z postaci analogowej na cyfrową.
    Mimo, iż efektywność działania takiego "inteligentnego" oprogramowania pozostawia jeszcze nieco do życzenia , to pozwala ono zauważalnie skrócić czas wykonywania określonego zadania. W połączeniu ze wzrostem zaawansowania technologicznego urządzeń i stałym spadkiem cen gwarantuje to, że skanery będą stale obecne w tych zastosowaniach, w których niezbędne jest zamienienie danych zapisanych na papierze w postaci analogowej na postać cyfrową, możliwą do obróbki na komputerze. Jednak coraz częściej stosuje się także inne urządzenia wizyjne, np. kamery, aparaty cyfrowe., lecz nie są one w stanie zastąpić, a tym bardziej wyprzeć z użytku skanera, który już jest podstawowym składnikiem stanowiska pracy grafika komputerowego i, który coraz częściej stanowi dodatkowy element wyposażenia domowego komputera.



Informacje

ANKIETA

napisz
e-mail