Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
QRコードを読み取る
Search
Keita
November 09, 2018
Technology
0
1k
QRコードを読み取る
2018/11/09 KyotoLT
Keita
November 09, 2018
Tweet
Share
More Decks by Keita
See All by Keita
転職してすぐリモートワークになった話
fmty
1
500
システム開発の契約とかお⾦の話
fmty
0
390
レガシーなコミュニケーションツール
fmty
0
1k
Other Decks in Technology
See All in Technology
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
品質のための共通認識
kakehashi
PRO
3
260
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
850
5分で知るMicrosoft Ignite
taiponrock
PRO
0
360
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.1k
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
570
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
140
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
420
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
180
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
4
370
世界最速級 memcached 互換サーバー作った
yasukata
0
340
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Designing for Performance
lara
610
69k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Raft: Consensus for Rubyists
vanstee
141
7.2k
[SF Ruby Conf 2025] Rails X
palkan
0
510
Context Engineering - Making Every Token Count
addyosmani
9
510
Bash Introduction
62gerente
615
210k
Building an army of robots
kneath
306
46k
Transcript
QRコードを読み取る KyotoLT 第22回 (2018.11.09) ⼩⻄啓太 @fmty
⼩⻄啓太 @fmty 製造業や物流関係様向けシステムのSEやってます バーコードとかRFIDとか使って⾊々やってます 好き→C#、SQLServer、Windows 嫌い→椎茸、納⾖
バーコード
バーコード JAN-13 CODE39 CODE128 EAN128 ITF
⼆次元コード
⼆次元コード QRコード マトリクス型 PDF417 DataMatrix CODE49 スタック型
QRコードを読み取る
None
None
None
None
①ファインダーパターン • 3点に配置される傾き認識マーク • 縦・横・斜め、どこからでも 1 0 111 0 1になる
①ファインダーパターン ②アライメントマーク • ドットのズレ調整⽤パターン • QRモデル2から実装 • データはこのアライメントマークに重ならな いよう配置される
• 誤り訂正レベルとマスクパターンを識別 ①左から右上に向かって読む ②「101010000010010」でマスクされている ので復号する → 0100 1101 1100 001
③ 先頭2桁「01」が誤り訂正レベル 次の3桁「001」がマスクパターン ③フォーマット情報 レベル 2進数 能力 L 01 7% M 00 15% Q 11 25% H 10 30%
マスクパターン(001)に該当するセルは反転 されている ④データを読む 参照子 条件 000 (i+j) mod 2 =
0 001 i mod 2 = 0 010 j mod 3 = 0 011 (i+j) mod 3 = 0 100 (( i div 2)+(j div 3)) mod 2 = 0 101 (ij) mod 2 + (ij) mod 3 = 0 110 ((ij) mod 2 +(ij) mod 3) mod 2 = 0 111 ((ij)mod 3 + (i+j) mod 2) mod 2 = 0
④データを読む • 各セルは左図のように右下から交互に読んで いきます。 • セル8個〜10個が1グループになっている。
④モード識別⼦と格納⽂字数 • 最初の1ブロックは識別⼦と⽂字数 • 4マスは格納データの種類 • 8〜10マスで格納⽂字数を読み取ります • 0010なので英数字モード •
⽂字数は000000111なので7⽂字
④変換表と⽐較する • 変換表と⽐較しながら読む • 英数字モードはほぼ読めない • 2⽂字を1セットとして、最初の値を45倍 にして、⼆番⽬の値を⾜して2進数に変換 します(英数字モードの場合) 20x45+34=934
934= 1110100110 1110100110 = KY
④実データを読む • 読み進めていくと…
KY OT OL T KYOTOLT となります^ ^ 残りは誤り訂正レベルに応じた補填 ⽤のデータになります。
読めましたか?
スキャナー買いましょう
ありがとう御座いました • 仕組みが分かれば、スマホなどいらぬ……ッ! ⾁眼のみで解読するQRコード講座 - ねとらぼ http://nlab.itmedia.co.jp/nl/articles/1801/31/news008.html • QRコードの構成 |
バーコード講座 | キーエンス https://www.keyence.co.jp/ss/products/autoid/codereader/basic2d_qr.jsp • QRコードをつくってみる http://www.swetake.com/qrcode/qr1.html • QRコードの基本 http://www.tech-jp.com/QRCode/Term.html