Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
QRコードを読み取る
Search
Keita
November 09, 2018
Technology
0
650
QRコードを読み取る
2018/11/09 KyotoLT
Keita
November 09, 2018
Tweet
Share
More Decks by Keita
See All by Keita
転職してすぐリモートワークになった話
fmty
1
410
システム開発の契約とかお⾦の話
fmty
0
290
レガシーなコミュニケーションツール
fmty
0
880
Other Decks in Technology
See All in Technology
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
250
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
260
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
300
プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児
kenjikondobai
3
930
生産性向上チームの紹介
cybozuinsideout
PRO
1
870
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
360
Janus
bkuhlmann
1
490
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.4k
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
110
アクセス制御にまつわる改善 / Improving access control
itkq
0
550
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
910
現代CSSフレームワークの内部実装とその仕組み
poteboy
7
3.6k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
91
13k
Infographics Made Easy
chrislema
238
18k
Navigating Team Friction
lara
178
13k
Building Adaptive Systems
keathley
31
1.9k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
The Language of Interfaces
destraynor
151
23k
Code Review Best Practice
trishagee
55
15k
Designing for Performance
lara
601
67k
Designing with Data
zakiwarfel
96
4.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Embracing the Ebb and Flow
colly
80
4.1k
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