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
630
QRコードを読み取る
2018/11/09 KyotoLT
Keita
November 09, 2018
Tweet
Share
More Decks by Keita
See All by Keita
転職してすぐリモートワークになった話
fmty
1
400
システム開発の契約とかお⾦の話
fmty
0
280
レガシーなコミュニケーションツール
fmty
0
870
Other Decks in Technology
See All in Technology
Azureコストは水道代/The_47th_Tokyo_Jazug
aeonpeople
3
390
Why do you get AWS certificates
hirosys
0
120
KubeCon EU 2024 : Knative Maintainers Session
salaboy
0
380
プッシュ型子育てサービスを、先行プロジェクト実施自治体において開始します
govtechtokyo
0
300
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
6
4.3k
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
230
Building a RAG app to chat with your data (on Azure)
pamelafox
0
150
XRミーティング 2024-03-20
1ftseabass
PRO
0
100
LLMの現在
pfn
PRO
16
6.2k
私のRSpecの書き方 / How I write RSpec
tmtms
4
840
複数の LLM モデルを扱う上で直面した辛みまとめ
kazuyaseki
1
260
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
7
100k
Featured
See All Featured
Clear Off the Table
cherdarchuk
82
310k
Faster Mobile Websites
deanohume
296
30k
Thoughts on Productivity
jonyablonski
57
3.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
How STYLIGHT went responsive
nonsquared
92
4.7k
The Invisible Customer
myddelton
114
12k
Embracing the Ebb and Flow
colly
78
4.1k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
644
57k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
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