SlideShare a Scribd company logo
バーコードは何故
逆さまでも読み取れるのか?
2014/05/17 @なんでも勉強会
にゃんたこす
アジェンダ的な・・・
• バーコードが逆でも読めるのは何故?
– バーコードはよくできたコード体系
• バーコードリーダーを作ってみた
– なんとWEBカメラとWEBブラウザだけで作れる
素朴な疑問
• 普段はあまり意識しないけれど、バーコードは
逆さでも正しく読める。(店では気にもしないけど)
なぜか??
よくある誤解1
【誤解】
バーコードの線は、先頭の線と末尾の線とで
微妙に幅が違うのでわかるようになっている。
よくある誤解1
【誤解】
バーコードの線は、先頭の線と末尾の線とで
微妙に幅が違うのでわかるようになっている。
【解説】
いや、そんなこともない。
(右図参照)
図の出典:
インクジェットプリンターのKGK紀州技研工業|豆知識_バーコードの話
https://www.kishugiken.co.jp/reading/barcode/barcode2.html
よくある誤解2
【誤解】
バーコードの末尾数字(チェックサム)でチェック
している。エラーなら逆向きと判断し、読み直す。
よくある誤解2
【誤解】
バーコードの末尾数字(チェックサム)でチェック
している。エラーなら逆向きと判断し、読み直し。
【解説】
どちらから読んでもエラーにならない場合は
どうするの?そもそもチェックサムは逆さ読み
検出の用途に使うものではない。(ノイズ検出)
とりあえず、
バーコードを解読してみよう!
図の出典:
インクジェットプリンターのKGK紀州技研工業|豆知識_バーコードの話
https://www.kishugiken.co.jp/reading/barcode/barcode2.html
図の出典:
JANコードの詳細 | 株式会社エイポック
http://www.a-poc.co.jp/howto/howto_words_barcode-JAN.html
表の出典:
裏辺研究室 第106回 これがバーコードの意味だ!(1)
http://www.uraken.net/zatsugaku/zatsugaku_106.html
バーコードの解読方法
図の出典:
インクジェットプリンターのKGK紀州技研工業|豆知識_バーコードの話
https://www.kishugiken.co.jp/reading/barcode/barcode2.html
図の出典:
JANコードの詳細 | 株式会社エイポック
http://www.a-poc.co.jp/howto/howto_words_barcode-JAN.html
表の出典:
裏辺研究室 第106回 これがバーコードの意味だ!(1)
http://www.uraken.net/zatsugaku/zatsugaku_106.html
バーコードの解読方法
まずは順方向から、
具体的に、
バーコードを解読してみよう!
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9
パ A
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1
パ A B
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1 2
パ A B A
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1 2 3
パ A B A A
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1 2 3 4
パ A B A A B
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1 2 3 4 5
パ A B A A B B
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 9 1 2 3 4 5
パ - A B A A B B
センターバーを読み込んだとき
に、一桁目の文字が表に存在
する(この場合4)
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 9 1 2 3 4 5 6
パ - A B A A B B C
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 9 1 2 3 4 5 6 7
パ - A B A A B B C C
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 9 1 2 3 4 5 6 7 8
パ - A B A A B B C C C
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 9 1 2 3 4 5 6 7 8 9
パ - A B A A B B C C C C
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 9 1 2 3 4 5 6 7 8 9 0
パ - A B A A B B C C C C C
具体例(順方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 9 1 2 3 4 5 6 7 8 9 0 4
パ - A B A A B B C C C C C C
今度は逆方向から、
バーコードを解読してみよう!
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4
パ B
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 0
パ B B
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 0 9
パ B B B
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 0 9 8
パ B B B B
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 0 9 8 7
パ B B B B B
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 0 9 8 7 6
パ B B B B B B
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 0 9 8 7 6
パ B B B B B B
センターバーを読み込んだとき
に、一桁目の文字が表に存在
しないので、逆方向だとわかる
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 6 7 8 9 0 4
パ C C C C C C
・・・なのでひっくり返す
(※ Bはひっくり返るとC)
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 6 7 8 9 0 4
パ A C C C C C C
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1 6 7 8 9 0 4
パ A B C C C C C C
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1 2 6 7 8 9 0 4
パ A B A C C C C C C
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1 2 3 6 7 8 9 0 4
パ A B A A C C C C C C
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1 2 3 4 6 7 8 9 0 4
パ A B A A B C C C C C C
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 9 1 2 3 4 5 6 7 8 9 0 4
パ A B A A B B C C C C C C
具体例(逆方向の場合)
1 2 3 4 5 6 7 8 9
1
0
1
1
1
2
1
3
数 4 9 1 2 3 4 5 6 7 8 9 0 4
パ - A B A A B B C C C C C C
センターバーを読み込んだとき
に、一桁目の文字が表に存在
する(この場合4)
バーコードは逆でも読めることが、
お分かりいただけたであろうか?
・・・というわけでつくってみた
• WEBカメラ+HTML5+JavaScriptで
バーコードリーダーをつくってみました!
http://yamanity.blog.ocn.ne.jp/nyantacos/upload/barocodereader_js/index.html
END

More Related Content

Viewers also liked

Mision del congo
Mision del congoMision del congo
Mision del congoAle Qui Pue
 
Будівельний журнал. Спецвипуск "Промислове та комерційне будівництво" №11-12...
Будівельний журнал. Спецвипуск  "Промислове та комерційне будівництво" №11-12...Будівельний журнал. Спецвипуск  "Промислове та комерційне будівництво" №11-12...
Будівельний журнал. Спецвипуск "Промислове та комерційне будівництво" №11-12...
st_andrew
 
Image procerssing
Image procerssingImage procerssing
Image procerssing
ChandruSimbu
 
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaitaTelšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaitaJurgita Telšiai
 
Startup - kiire kasvu etalon
Startup - kiire kasvu etalonStartup - kiire kasvu etalon
Startup - kiire kasvu etalon
Weekdone.com
 
av başladı
av başladıav başladı
av başladı
Erol Kahraman
 
Aims1996 1140
Aims1996 1140Aims1996 1140
Aims1996 1140
Rachid Tahiri
 
NoEmployees in Wildcard 2015
NoEmployees in Wildcard 2015NoEmployees in Wildcard 2015
NoEmployees in Wildcard 2015
Flowa Oy
 
Telšių rajono savivaldybės patirtis įsisavinant ES paramą
Telšių rajono savivaldybės patirtis įsisavinant ES paramąTelšių rajono savivaldybės patirtis įsisavinant ES paramą
Telšių rajono savivaldybės patirtis įsisavinant ES paramąJurgita Telšiai
 
Wrapping java in awesomeness aka condensator
Wrapping java in awesomeness aka condensatorWrapping java in awesomeness aka condensator
Wrapping java in awesomeness aka condensator
Flowa Oy
 
쉐어몬스터 소개
쉐어몬스터 소개쉐어몬스터 소개
쉐어몬스터 소개
윤근 강
 
Cross Border VC Syndication. Tibet Presentation
Cross Border VC Syndication. Tibet PresentationCross Border VC Syndication. Tibet Presentation
Cross Border VC Syndication. Tibet PresentationDaniel S. Hain
 
第3回なんでも勉強会 にゃんたこす rev01
第3回なんでも勉強会 にゃんたこす rev01第3回なんでも勉強会 にゃんたこす rev01
第3回なんでも勉強会 にゃんたこす rev01Toshiaki Yamanishi
 

Viewers also liked (16)

Sigil
SigilSigil
Sigil
 
Mision del congo
Mision del congoMision del congo
Mision del congo
 
Будівельний журнал. Спецвипуск "Промислове та комерційне будівництво" №11-12...
Будівельний журнал. Спецвипуск  "Промислове та комерційне будівництво" №11-12...Будівельний журнал. Спецвипуск  "Промислове та комерційне будівництво" №11-12...
Будівельний журнал. Спецвипуск "Промислове та комерційне будівництво" №11-12...
 
Red fort
Red fortRed fort
Red fort
 
Image procerssing
Image procerssingImage procerssing
Image procerssing
 
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaitaTelšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
Telšių rajono savivaldybės mero V. Kleivos 2013 m. veiklos ataskaita
 
Startup - kiire kasvu etalon
Startup - kiire kasvu etalonStartup - kiire kasvu etalon
Startup - kiire kasvu etalon
 
av başladı
av başladıav başladı
av başladı
 
Aims1996 1140
Aims1996 1140Aims1996 1140
Aims1996 1140
 
NoEmployees in Wildcard 2015
NoEmployees in Wildcard 2015NoEmployees in Wildcard 2015
NoEmployees in Wildcard 2015
 
Wordle
WordleWordle
Wordle
 
Telšių rajono savivaldybės patirtis įsisavinant ES paramą
Telšių rajono savivaldybės patirtis įsisavinant ES paramąTelšių rajono savivaldybės patirtis įsisavinant ES paramą
Telšių rajono savivaldybės patirtis įsisavinant ES paramą
 
Wrapping java in awesomeness aka condensator
Wrapping java in awesomeness aka condensatorWrapping java in awesomeness aka condensator
Wrapping java in awesomeness aka condensator
 
쉐어몬스터 소개
쉐어몬스터 소개쉐어몬스터 소개
쉐어몬스터 소개
 
Cross Border VC Syndication. Tibet Presentation
Cross Border VC Syndication. Tibet PresentationCross Border VC Syndication. Tibet Presentation
Cross Border VC Syndication. Tibet Presentation
 
第3回なんでも勉強会 にゃんたこす rev01
第3回なんでも勉強会 にゃんたこす rev01第3回なんでも勉強会 にゃんたこす rev01
第3回なんでも勉強会 にゃんたこす rev01
 

20140517 なんでも勉強会 にゃんたこす_rev02