Ez a Codebox megmutatja, hogyan használhatja a ZXing könyvtárat (a "Zebra Crossing" kifejezést), hogy azonosítsa a QR kódokat élő webkamera feedben. (Bár a Feldolgozás nagyszerűen hozzájárult a QRCode nevű könyvtárhoz, a ZXing sokkal gyorsabb és valós időben is felismerhető.) A vázlat QR kódokat keres egy kódolt O'Reilly könyv ISBN (ISBN-ek a standard könyv azonosítók). Amikor talál, találja a könyv borítóját a QR-kódon keresztül.
A QR-kódokról Mielőtt belépne a kódba, egy kis háttér. A QR-kódnak két alapeleme van: a három pozicionáló elem, amelyek a három sarokban lévő nagy négyzetblokkok, és az adatelemek, ami minden más. A helymeghatározó elemek segítik a szoftvert a QR-kód helyének és tájolásának meghatározásában. Az adatelemek a kódolt adatokat képviselik. Például lehet egy termékszám, egy URL, vagy (esetünkben itt egy ISBN). A kód tartalmaz néhány információt a hibajavításhoz. Az alábbi képnek meg kell adnia az alapötletet:
A kód létrehozásához olyan webhelyet használhat, mint a Kaywa. Íme egy példa arra, hogyan hozhatunk létre kódot a „9780596510510”, a Tom Igoe könyvének ISBN:
A vázlat beállítása
Az első dolog a ZXing letöltése és a Java-fordító használata két fájl létrehozásához: core.jar és javase.jar. Ha kényelmes a Java, mindössze annyit kell tennie, hogy a „core” és a „javase” könyvtárakba lépjen, és futtassa az ant-ot a jar fájlok építéséhez.
Ha nem, akkor összeállítottam őket neked. (De ne mondd senkinek - ez valószínűleg megsért egy bizonyos licenckövetelményt, vagy más. Csak letöltheti javase.jar és core.jar. (Egy jar fájlt, mint egy Java zip fájlt, amely több fájlt tömörít és csomagol.)
Miután megvan a jar fájlja, tegye fel a Feldolgozást, majd használja a „Vázlat -> Fájl hozzáadása” lehetőséget, hogy hozzáadja őket a projekthez. Ezután illessze be a vázlatkódot a fő kód ablakba. Ezt a qr_codes.pde fájlból kaphatja meg, vagy húzza ki a következő kódtartóból:
Nyomtasson ki néhány QR-kódot különböző O'Reilly könyvek számára, és indítsa el a vázlatot. Amikor a kódokat a webkamerára mutatjuk, a fedőképet rövid idő elteltével láthatja. Természetesen bármilyen más információt kódolhat.
Beszélgetés A beállítás hasonló az OpenCV-ben használt bejegyzésekhez. Először egy új olvasóobjektumot állítottunk be, így:
com.google.zxing.Reader reader = új com.google.zxing.MultiFormatReader ();
Ezután átadjuk az olvasót egy olyan képnek, amely QR-kódot tartalmazhat. Ebben az esetben csak a webkamerából érkező kereteket továbbítjuk. Ez egy kicsit bonyolultabb, hogy a dekóder használata előtt pár átalakítást kell végezni a nyers képen - mindezt a húz() eljárás:
LuminanceSource forrás = új BufferedImageLuminanceSource ((BufferedImage) cam.getImage ()); BinaryBitmap bitmap = új BinaryBitmap (új HybridBinarizer (forrás)); Eredményeredmény = olvasó.decode (bitkép);
Miután hívtuk dekódolni (), a olvasó az objektum minden olyan QR-kóddal rendelkezik, amelyet észlelt. A getResultPoints () az egyes pozíciójelzők koordinátáit és a gettext () A módszer a kódolt szöveget adja vissza. Feltételezve, hogy találtunk valamit, akkor csak próbáljuk ki a megfelelő fedelet az O'Reilly webhelyről, és megjeleníteni. Mint egy kicsit ránc, nyomon követjük az utolsó ISBN-t, amit úgy találtunk, hogy nem mindig töltjük be ugyanazt a képet minden keretre.
Ez a bemutatónak meg kell adnia a legtöbbet arról, amire szüksége van a saját QR-hackeléséhez a Feldolgozással. Érezd jól magad!
PS: Ne feledje, hogy Windows-ot használ, telepítenie kell a WinVDIG-et és a QuickTime-t a webkamera feldolgozásához.
További: Itt tekintheti meg az összes Codebox oszlopot
A Maker Shedben:
Első lépések a feldolgozással Ismerje meg a számítógépes programozást a feldolgozással egyszerű módon, amely lehetővé teszi a kódok használatát rajzok, animációk és interaktív grafikák létrehozásához. A programozási kurzusok általában az elméletből indulnak ki, de ez a könyv lehetővé teszi a kreatív és szórakoztató projektekbe való ugrást. Ideális azok számára, akik alapvető programozást akarnak tanulni, és egyszerű bemutatkozásként szolgálnak a programozáshoz szükséges grafikák számára.