text: Krok strojového vidění pro čtení čárových kódů s podporou GPU
  Aktualizováno: 4.3.2022 |
  Čtení čárových kódů je samozřejmou součástí prakticky všech systémů strojového vidění, a stejně tak tomu je u systému VisionLab. Nový krok ale poskytuje něco navíc. Může být užitečný v případech, kdy se v obraze vyskytuje na nejrůznějším pozadí více čárových kódů ve více velikostech, ve více pozicích a rotacích.
  V takových případech může být obtížné zvolit patřičné směry a hustoty snímacích čar. Zde nám masivně paralelní výkon grafického procesoru pomáhá vytvořit měřítková pole obrazových znaků, které redukují velikost obrazových dat do malých polí obrazových znaků (features), které jsou následně rychle zpracovatelné. Tato pole jsou vytvářena pro škálu několika měřítek. Redukce objemu dat je velmi značná, obraz s miliony obrazových bodů je v polích znaků reprezentován stovkami, maximálně, při malých měřítcích znaků, tisíci elementy. Pro extrakci znaků z originálního obrazu nezatěžuje CPU počítače.
  Detektor čárových kódů vždy pro každý bod obrazu změří směr nejbližší kontrastní hrany. K tomu využívá znalost lokálního středního jasu, získaného z integrálního obrazu. Metoda je tak odolná vůči změnám jasu a kontrastu a pomocí volby velikosti testovaných regionů dobře pracuje ve velkém rozsahu měřítek.
  Masivně paralelní algoritmus nalezl oblasti obrazu, které by mohly obsahovat čárové kódy
  Přečtení několika čárových kódů v jednom obraze
  Vlastní čtení kódů je pak již řešeno standardně pomocí CPU. Tyto algoritmy již nejsou jednoduše paralelizovatelné.
  První stupeň detektoru měří směr nejbližší kontrastní hrany do blízkosti dané požadovaných měřítkem. Obrazové body bez hran v dané blízkosti jsou identifikovány zelenou barvou.
  Ve druhém stupni je již obrazová informace redukována do měřítkového pole obrazových znaků (features)