Jeffrey Cross
Jeffrey Cross

Kódové pole: Použití QR kódů při zpracování

Tento Codebox vám ukáže, jak používat knihovnu ZXing (vyslovuje se „Zebra Crossing“) k identifikaci QR kódů v živém webovém zdroji. (Ačkoliv má zpracování skvělou knihovnu QRCode, ZXing je mnohem rychlejší a dokáže rozpoznat v reálném čase.) Skica hledá kódy QR s kódovanými knihami O’Reilly ISBN (ISBN jsou standardní identifikátory knih). Když ho nalezne, překryje titulní obrázek knihy na videu přes QR kód.

O QR kódech Před skokem do kódu, trochu pozadí. QR kód má dvě základní části - tři polohovací prvky, což jsou velké čtvercové bloky ve třech rozích, a datové prvky, což je všechno ostatní. Polohovací prvky pomáhají softwaru určit polohu a orientaci QR kódu. Datové prvky představují zakódovaná data. Může to být například číslo produktu, adresa URL nebo (v našem případě zde) číslo ISBN. Kód má také některé informace používané pro opravu chyb. Následující obrázek by vám měl poskytnout základní myšlenku:

K vygenerování kódu můžete použít web jako Kaywa. Zde je příklad, jak vygenerovat kód pro kód „9780596510510“, ISBN pro knihu Toma Igoe.

Nastavení náčrtu

První věc, kterou musíte udělat, je stáhnout ZXing a použít Java kompilátor k vytvoření dvou souborů: core.jar a javase.jar. Pokud jste s Javou spokojeni, stačí, když vstoupíte do adresářů „jádro“ a „javase“ a spustíte mravenci, abyste vytvořili soubory jar.

Pokud nejste, zkompiloval jsem je pro vás. (Ale nikomu to neříkejte - pravděpodobně to porušuje některé licenční požadavky nebo jiné. Stačí stáhnout javase.jar a core.jar. (Soubor jar jako soubor zip pro Javu, který komprimuje a svazuje více souborů.)

Jakmile máte soubory jar, zapálte Zpracování a poté použijte „Skica -> Přidat soubor“, abyste je přidali do projektu. Pak vložte kód skici do hlavního okna kódu. Můžete jej získat ze souboru qr_codes.pde nebo ho vytáhnout z následujícího kódového pole:

Vytiskněte několik QR kódů pro různé knihy O'Reilly a začněte skicu. Při zobrazení kódů na webové kameře byste měli po krátkém zpoždění zobrazit obrázek obálky. Samozřejmě můžete kódovat jakékoli další informace, které se vám líbí.

Diskuse Nastavení je podobné tomu, které jsme použili v příspěvcích na OpenCV. Nejprve nastavíme nový objekt čtenáře, jako je tento:

com.google.zxing.Reader reader = nový com.google.zxing.MultiFormatReader ();

Pak předáme čtenáři obraz, který může obsahovat QR kód. V tomto případě právě procházíme rámy přicházejícími z webové kamery. Je to o něco složitější v tom, že musíme udělat pár transformací na surovém obrazu, než budeme moci použít dekodér. kreslit() metoda:

LuminanceSource source = new BufferedImageLuminanceSource ((BufferedImage) cam.getImage ()); BinaryBitmap bitmap = nový BinaryBitmap (nový HybridBinarizer (zdroj)); Výsledek výsledku = reader.decode (bitmapa);

Jednou jsme zavolali dekódovat(), čtenář objekt bude mít data o jakémkoliv QR kódu, který detekuje. getResultPoints () metoda vrátí souřadnice každého z ukazatelů polohy a getText () metoda vrátí kódovaný text. Za předpokladu, že jsme něco našli, pak se pokusíme vytáhnout odpovídající kryt z webu O'Reilly a zobrazit jej. Jako jeden kousek vrásky sledujeme poslední číslo ISBN, které jsme našli, takže na každém snímku stále nekládáme stejný obraz.

Toto demo by vám mělo poskytnout většinu toho, co potřebujete pro vlastní hacking QR s Processing. Bavte se!

PS: Nezapomeňte, že používáte Windows, budete muset nainstalovat WinVDIG a QuickTime pro použití webkamery v Processing.

Více: Zde naleznete všechny sloupce Codebox

V hale Maker:


Začínáme se zpracováním Naučte se programování počítače jednoduchým způsobem pomocí zpracování, což je jednoduchý jazyk, který umožňuje používat kód pro vytváření výkresů, animací a interaktivní grafiky. Kurzy programování obvykle začínají teorií, ale tato kniha vám umožňuje skočit přímo do kreativních a zábavných projektů. Je ideální pro každého, kdo se chce naučit základní programování a slouží jako jednoduchý úvod do grafiky pro lidi s některými programovacími dovednostmi.

Podíl

Zanechat Komentář