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
990
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
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
240
学術的根拠から読み解くNotebookLMの音声活用法
shukob
0
430
小規模チームによる衛星管制システムの開発とスケーラビリティの実現
sankichi92
0
130
ABEMAのCM配信を支えるスケーラブルな分散カウンタの実装
hono0130
4
1.1k
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
220
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
2
530
AI駆動開発2025年振り返りとTips集
knr109
1
110
ECS組み込みのBlue/Greenデプロイを動かしてELB側の動きを観察してみる
yuki_ink
3
420
機械学習を「社会実装」するということ 2025年冬版 / Social Implementation of Machine Learning November 2025 Version
moepy_stats
4
320
『ソフトウェア』で『リアル』を動かす:クレーンゲームからデータ基盤までの統一アーキテクチャ / アーキテクチャConference 2025
genda
0
490
Pandocでmd→pptx便利すぎワロタwww
meow_noisy
2
950
Excelデータ分析で学ぶディメンショナルモデリング ~アジャイルデータモデリングへ向けて~ by @Kazaneya_PR / 20251126
kazaneya
PRO
3
190
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Rails Girls Zürich Keynote
gr2m
95
14k
Documentation Writing (for coders)
carmenintech
76
5.1k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
GitHub's CSS Performance
jonrohan
1032
470k
How GitHub (no longer) Works
holman
315
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
A better future with KSS
kneath
239
18k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
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