Odczyt kodów Aztec – c.d.

post_img

Kontynuując wątek odczytu kodów matrycowych, pozwolę sobie omówić nieco inny sposób na odczyt kodów Aztec z dowodów rejestracyjnych. Innowacją wypracowaną przez ATENĘ jest zastosowanie do tego celu kamery internetowej. Pod względem skuteczności kamery internetowe mają utrudnione zadanie w porównaniu do wyspecjalizowanych czytników kodów kreskowych, z powodu braku własnego oświetlenia, laserowego celownika, czy ergonomicznego kształtu, który umożliwia precyzyjne oraz intuicyjne wskazanie kodu (czytnikiem celuje się jak pistoletem). Mimo tych ograniczeń, wysiłki podjęte przez nas w celu umożliwienia odczytu kodów Aztec przy pomocy kamery internetowej, przyniosły zaskakująco dobre efekty.

Test kamer internetowych

Oprogramowanie wytworzone w ATENIE z założenia kierowane jest do zastosowań desktopowych, które zwykle charakteryzują się dobrze oświetlonym otoczeniem, oraz wygodnym dostępem do gniazd USB (w niektórych przypadkach znaczenie może mieć długość przewodu kamery). Niemniej nic nie stoi na przeszkodzie, by zestaw laptop plus kamera były używane do „pracy w terenie”. W takich przypadkach kamera internetowa jest nawet wygodniejsza od dedykowanego skanera (czytnika), ponieważ jest od niego mniejsza i lżejsza. Decydując się jednak na zastosowanie kamery zamiast czytnika, należy też mieć na uwadze jej ograniczenie, jakim jest brak własnego oświetlenia, a co za tym idzie – niewielka skuteczność w ciemnym otoczeniu. Wprawdzie jedna z testowanych przez nas kamer posiadała własne oświetlenie diodowe, jednak nie nadawało się ono do użycia z powodu powodowanych przez nie odblasków.

Testy kamer internetowych nie obejmowały porównania skuteczności odczytu poszczególnych modeli analogicznie do testu czytników, ponieważ skuteczność ta była niemal identyczna dla wszystkich kamer umożliwiających taki odczyt. Wynika to z faktu, iż algorytm obróbki obrazu podczas odczytu kodów dla każdej kamery był ten sam. Dlatego podczas testów kamer skupiliśmy się na innych czynnikach, niż skuteczność algorytmu – czyli przede wszystkim na rodzaju ustawienia ostrości (autofocus, ręczny lub brak), obsługiwanych rozdzielczościach, czy szybkości działania autofocusa. Stąd też testy kamer są całkowicie niezależne od testu skanerów, a wyników obydwu testów nie da się ze sobą porównywać wprost.

Przetestowaliśmy następujące modele kamer internetowych:



Creative Live! Cam Optia Pro

Creative Live! Cam Optia Pro



Microsoft LifeCam Show

Microsoft LifeCam Show



Logitech QuickCam Pro for Notebooks

Logitech QuickCam Pro for Notebooks



Genius iSlim 2000AF

Genius iSlim 2000AF



Microsoft LifeCam Cinema

Microsoft LifeCam Cinema



Microsoft LifeCam NX-3000

Microsoft LifeCam NX-3000



Logitech QuickCam S5500

Logitech QuickCam S5500



Creative Live! Cam Socialize HD AF

Creative Live! Cam Socialize HD AF



Logitech HD Pro Webcam C910

Logitech HD Pro Webcam C910



Microsoft LifeCam HD-5000

Microsoft LifeCam HD-5000



Philips Webcam SPC520NC

Philips Webcam SPC520NC



Noname

Noname - najtańszy model dostępny na Allegro

Regulacja ostrości a odczyt kodów Aztec

Możliwość odczytu kodów Aztec z dowodów rejestracyjnych przy pomocy kamery internetowej zdeterminowana jest przez sposób ustawiania ostrości. Odczyt kodu kreskowego jest możliwy tylko z niewielkiej odległości kilku centymetrów, dlatego jeśli kamera nie ma możliwości ustawiania ostrości na tak bliską odległość, nie nadaje się do zastosowania przy odczytach kodów Aztec. I tak na przykład kamery seryjnie montowane w laptopach nie umożliwiają takiej regulacji. Głębia ostrości zwykle ustawiona jest w nich na stałe, od ok. 0,5m (odległość twarzy od monitora) do nieskończoności. Niestety, z odległości 50cm nie da się już odczytać kodu, gdyż nie pozwala na to zbyt mała rozdzielczość oraz brak zoom’u.

W kamerach, które umożliwiają ustawianie ostrości, regulacja może odbywać się automatycznie (autofocus), bądź ręcznie. Ręczna regulacja ostrości polega na dokręcaniu lub odkręcaniu soczewki kamery, co zmienia jej odległość od matrycy światłoczułej. Kamerę z ręczną regulacją można skalibrować tak, by na stałe miała ustawioną ostrość pozwalającą na odczyt kodów Aztec, jednak taki sprzęt przestaje być użyteczny do innych zastosowań. W trakcie testów wewnętrznych przygotowaliśmy takie „stanowisko biurkowe”, zapewniające niezmienne warunki odczytu. Jest to zestaw złożony z kamery skierowanej w dół, z ustawioną na stałe ostrością, oraz dość nietypowej podstawki wykonanej z modeliny. Niepowtarzalny efekt końcowy widoczny jest na poniższych zdjęciach (kliknięcie w miniaturę otwiera grafikę):


Wprawdzie takie stanowisko jest najtańszą metodą na skuteczny odczyt kodów Aztec (zastosowana kamera została kupiona przez Allegro i kosztowała poniżej 20zł, wliczając w to koszty przesyłki, plus koszt modeliny ok. 15zł – razem ok. 35zł brutto), jednak do jego przygotowania potrzeba dużej cierpliwości i determinacji. Zdecydowanie łatwiejszym sposobem jest zastosowanie kamery wyposażonej w autofocus.

Skuteczny odczyt

Aby skutecznie odczytać kod Aztec z dowodu rejestracyjnego przy pomocy kamery internetowej, należy skorzystać z podglądu na ekranie komputera, przestrzegając kilku podstawowych zasad:

  • Cały kod powinien być równomiernie oświetlony, żadna jego część nie powinna być zacieniona bądź zbyt mocno doświetlona. Sterowniki kamery same dostosowują jasność obrazu do warunków otoczenia, stąd odczyt jest możliwy przy różnych poziomach natężenia światła, należy tylko zadbać o jednakowe oświetlenie całego kodu.
  • Kod i kamerę należy ustawić względem siebie pod takim kątem, aby nie znalazły się na nim żadne odblaski od zewnętrznych źródeł światła. Najlepiej gdy kamera jest ustawiona prostopadle względem kodu, jednak możliwy jest też odczyt pod lekkim kątem (do kilkunastu stopni) – co powoduje spore możliwości manewrowania, w celu znalezienia najlepszej pozycji.
  • Odblaski są często powodowane przez lśniącą okładkę, dlatego do skutecznego odczytu najlepiej jest zdjąć okładkę.
  • Dowód rejestracyjny nie powinien być pogięty ani zawinięty, tylko możliwie najbardziej płaski. Jeśli dowód rejestracyjny jest zniekształcony (np. od noszenia w tylnej kieszeni spodni), najlepiej ułożyć go na płaskiej powierzchni, w razie potrzeby docisnąć do podłoża.

Przy zachowaniu elementarnej staranności odczyt nikomu nie powinien sprawiać większego problemu, a po kilku próbach nabywa się wprawy. Na poniższych zdjęciach przedstawiono różne sposoby ustawienia kamery i dowodu, zgodnie z subiektywną oceną w kolejności od najłatwiejszego do najtrudniejszego:

  1. Kamera ruchoma, dowód rejestracyjny leży płasko. Taki sposób najbardziej przypomina odczyt czytnikiem pistoletowym – w ten sposób najłatwiej jest manipulować obrazem kodu na ekranie monitora.
  2. Dowód rejestracyjny ruchomy, kamera skierowana w stronę ekranu. W ten sposób kod na dowodzie i kod na ekranie poruszają się w tych samych kierunkach, co ułatwia odczyt.
  3. Dowód rejestracyjny i kamera ruchome. Najwięcej możliwości manipulowania obrazem w celu znalezienia optymalnej pozycji odczytu.
  4. Dowód rejestracyjny ruchomy, obiektyw kamery zwrócony w tym samym kierunku co ekran. W tym przypadku najlepiej włączyć opcję lustrzanego odbicia, którą umożliwia większość sterowników kamer internetowych – wówczas obraz na ekranie porusza się w tych samych kierunkach co skanowany kod (przypomina to odbicie w lustrze).


Polska Izba Ubezpieczeń opublikowała dokument „Skanowanie aparatowe” kodu 2D AZTEC z dnia 01.10.2007, który dość precyzyjnie opisuje warunki konieczne do prawidłowego wykonania zdjęcia aparatem cyfrowym. Warto się z nim zapoznać, ponieważ odczyt kodu ze zdjęcia oraz z obrazu przekazywanego przez kamerę mają ze sobą wiele cech wspólnych, więc wskazówki zawarte w tym dokumencie w większości dotyczą też odczytu z kamery.

Porównanie kamer i rekomendacje

Poniższa tabela przedstawia ranking rekomendowanych kamer, w kolejności od najlepszego do najsłabszego modelu. Ponieważ o pozycji na liście zadecydowały niuanse, a różnice w skuteczności były prawie niezauważalne – postanowiłem testowane kamery podzielić na 4 grupy:

  1. Modele rekomendowane do zastosowania przy odczytach kodów Aztec.
  2. Kamery umożliwiające sprawny odczyt kodów Aztec, ustępujące jednak pierwszej grupie z powodów opisanych poniżej.
  3. Nadające się do odczytu kodów Aztec, jednak wymagające dodatkowego wysiłku, więc niepolecane.
  4. Poza podium znalazły się kamery, które nie umożliwiają odczytu kodów Aztec.
Miejsce Producent Model Odczyt kodu Aztec Ustawianie ostrości Rozdzielczość Cena netto Cena brutto
1 Microsoft LifeCam Cinema tak autofocus 1280 x 720 185,00 zł 227,55 zł
1 Creative Live! Cam Socialize HD AF tak autofocus 1600 x 1200 170,00 zł 209,10 zł
2 Logitech HD Pro Webcam C910 tak autofocus 1920 x 1080 315,00 zł 387,45 zł
2 Genius iSlim 2000AF tak autofocus 1600 x 1200 95,00 zł 116,85 zł
2 Microsoft LifeCam HD-5000 tak autofocus 1024 x 720 110,00 zł 135,30 zł
3 Logitech QuickCam Pro for Notebooks tak autofocus 640 x 480 205,00 zł 252,15 zł
3 Philips Webcam SPC520NC tak ręczne 1280 x 1024 40,00 zł 49,20 zł
3 Noname tak ręczne 640 x 480 20,00 zł 24,60 zł
4 Creative Live! Cam Optia Pro nie brak 640 x 480 137,40 zł 169,00 zł
4 Microsoft LifeCam Show nie brak 800 x 600 180,00 zł 221,40 zł
4 Microsoft LifeCam NX-3000 nie brak 640 x 480 90,00 zł 110,70 zł
4 Logitech QuickCam S5500 nie brak 1280 x 960 145,00 zł 178,35 zł

Na pierwszym miejscu znalazły się dwa modele ex equo, przede wszystkim z powodu bardzo dobrze działającego autofocusa, obsługiwanych wysokich rozdzielczości, oraz kształtu uchwytu, umożliwiającego wygodny odczyt. Właśnie ze względu na kształt kamerę Microsoftu umieściłem najwyżej, mimo niższej rozdzielczości od modelu Creative’a, oraz mimo przeszkadzającej czasem niewielkiej, niebieskiej diody, która w pewnych warunkach powodowała odblaski. Jednak bardzo łatwo dojść do takiej wprawy, by świecąca dioda nie przeszkadzała, a ergonomiczny kształt tej kamery (widoczny na powyższych zdjęciach) najbardziej przypomina używanie czytnika.

„Srebrny medal” zdobyły aż trzy kamery (w tym przypadku kolejność nie ma znaczenia), z których każda sprawowała się bardzo dobrze, a o przegranej „o włos” zadecydowały subtelne detale. W przypadku modelu Logitecha (skądinąd świetnej kamery) chodzi o wysoką cenę. Kamera Geniusa natomiast jest najtańsza spośród testowanych modeli wyposażonych w autofocus, oraz posiada dodatkowy atut w postaci przesuwanej klapki zasłaniającej obiektyw. Niestety, wielokrotne używanie tej klapki spowodowało pojawienie się delikatnych zarysowań na obiektywie, co zadecydowało o obniżeniu pozycji. Kamera Microsoftu natomiast nie sprawiała żadnych problemów i zapewne znalazłaby się w pierwszej grupie, gdyby obsługiwała wyższe rozdzielczości.

Grupę trzecią otwiera model Logitecha, który wprawdzie wyposażony jest w autofocus, jednak jest on dość wolny i zawodny przy słabszym oświetleniu, a do jego działania potrzebne są sterowniki (autofocus w innych modelach działa również w trybie plug-and-play). Na końcu zestawienia kamer umożliwiających odczyt kodów Aztec, znalazły się dwie kamery z ręczną regulacją ostrości. Z tych dwóch modeli lepiej spisywała się kamera Philipsa, ze względu na wyższą rozdzielczość obrazu. Ostatni, najtańszy model znaleziony na Allegro, został użyty do przygotowania opisanego wyżej „stanowiska z żabą”.

Pozostałe kamery przetestowane przez nas nie umożliwiają odczytu kodów Aztec z dowodów rejestracyjnych, z powodu braku możliwości zmiany ustawienia ostrości.

Odnośniki

Test odczytu kodów Aztec – wpis na blogu technologicznym Ateny dotyczący czytników kodów kreskowych.
„Skanowanie aparatowe” kodu 2D AZTEC – rekomendacja nr 2/2007 Polskiej Izby Ubezpieczeń z dnia 01.10.2007.


Jarosław Fostacz

O Jarosław Fostacz

Od 2003 roku jestem związany z firmą ATENA - początkowo jako programista, następnie projektant. Aktualnie jestem kierownikiem Zespołu ds. Rozwoju i Technologii, oraz opiekunem niniejszego Bloga Technologicznego. Moją siłą napędową jest nieustanne poszukiwanie innowacji oraz nowych technologii.


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

6 komentarzy do “Odczyt kodów Aztec – c.d.

  • Sebastian

    Jak odczytać taki kod ?? Mam program do czytania kodów na moim HTC ale po odczytaniu dane są chyba zakodowane. Jak to odkodować ? jakim rodzajem kodowania to mogę zrobic ?

    • Jarosław Fostacz
      Jarosław Fostacz Autor wpisu

      Jedynym sposobem jest użycie dedykowanej biblioteki deszyfrującej, zatwierdzonej przez Państwową Wytwórnię Papierów Wartościowych.

  • Darek

    Czy do odczytu kodu AZTEC z dowodu można użyć: a) płaskiego skanera, b) pliku (jpg, pdf….) z zeskanowanym/fotografowanym obrazem dowodu?

    • Jarosław Fostacz
      Jarosław Fostacz Autor wpisu

      Oczywiście, jest taka możliwość. W przypadku pliku graficznego znaczenie ma jakość zdjęcia (bądź skanu), czyli ostrość, oświetlenie, a także jego rozdzielczość. Dokładniejszy opis można znaleźć w dokumencie „Skanowanie aparatowe”, do którego link znajduje się w odnośnikach.

  • Janusz

    Witam, posiadam zwykły, płaski skaner HP F2420 i za jego pomocą chciałbym wczytać dane z dowodu.Po naciśnięciu przycisku „wczytaj z dowodu” pojawia się okno „skanowanie kodu AZTEC”Po naciśnięciu „rozpocznij skanowanie pojawia się komunikat o braku dostępu do kamery internetowej, a rozwijany pasek „dostępne źródła video” nie zawiera żadnej opcji.

    • Jarosław Fostacz
      Jarosław Fostacz Autor wpisu

      Pańskie zgłoszenie zostało przekazane do zespołu produkcyjnego, właściwego dla produktu, z którego Pan korzysta.