Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

652 views

Published on

  • Be the first to comment

  • Be the first to like this

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

  1. 1. バーコードは何故 逆さまでも読み取れるのか? 2014/05/17 @なんでも勉強会 にゃんたこす
  2. 2. アジェンダ的な・・・ • バーコードが逆でも読めるのは何故? – バーコードはよくできたコード体系 • バーコードリーダーを作ってみた – なんとWEBカメラとWEBブラウザだけで作れる
  3. 3. 素朴な疑問 • 普段はあまり意識しないけれど、バーコードは 逆さでも正しく読める。(店では気にもしないけど) なぜか??
  4. 4. よくある誤解1 【誤解】 バーコードの線は、先頭の線と末尾の線とで 微妙に幅が違うのでわかるようになっている。
  5. 5. よくある誤解1 【誤解】 バーコードの線は、先頭の線と末尾の線とで 微妙に幅が違うのでわかるようになっている。 【解説】 いや、そんなこともない。 (右図参照) 図の出典: インクジェットプリンターのKGK紀州技研工業|豆知識_バーコードの話 https://www.kishugiken.co.jp/reading/barcode/barcode2.html
  6. 6. よくある誤解2 【誤解】 バーコードの末尾数字(チェックサム)でチェック している。エラーなら逆向きと判断し、読み直す。
  7. 7. よくある誤解2 【誤解】 バーコードの末尾数字(チェックサム)でチェック している。エラーなら逆向きと判断し、読み直し。 【解説】 どちらから読んでもエラーにならない場合は どうするの?そもそもチェックサムは逆さ読み 検出の用途に使うものではない。(ノイズ検出)
  8. 8. とりあえず、 バーコードを解読してみよう!
  9. 9. 図の出典: インクジェットプリンターの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 バーコードの解読方法
  10. 10. 図の出典: インクジェットプリンターの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 バーコードの解読方法
  11. 11. まずは順方向から、 具体的に、 バーコードを解読してみよう!
  12. 12. 具体例(順方向の場合) 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 数 9 パ A
  13. 13. 具体例(順方向の場合) 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 数 9 1 パ A B
  14. 14. 具体例(順方向の場合) 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 数 9 1 2 パ A B A
  15. 15. 具体例(順方向の場合) 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
  16. 16. 具体例(順方向の場合) 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
  17. 17. 具体例(順方向の場合) 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
  18. 18. 具体例(順方向の場合) 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)
  19. 19. 具体例(順方向の場合) 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
  20. 20. 具体例(順方向の場合) 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
  21. 21. 具体例(順方向の場合) 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
  22. 22. 具体例(順方向の場合) 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
  23. 23. 具体例(順方向の場合) 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
  24. 24. 具体例(順方向の場合) 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
  25. 25. 今度は逆方向から、 バーコードを解読してみよう!
  26. 26. 具体例(逆方向の場合) 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 数 4 パ B
  27. 27. 具体例(逆方向の場合) 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 数 4 0 パ B B
  28. 28. 具体例(逆方向の場合) 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 数 4 0 9 パ B B B
  29. 29. 具体例(逆方向の場合) 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
  30. 30. 具体例(逆方向の場合) 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
  31. 31. 具体例(逆方向の場合) 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
  32. 32. 具体例(逆方向の場合) 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 センターバーを読み込んだとき に、一桁目の文字が表に存在 しないので、逆方向だとわかる
  33. 33. 具体例(逆方向の場合) 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)
  34. 34. 具体例(逆方向の場合) 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
  35. 35. 具体例(逆方向の場合) 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
  36. 36. 具体例(逆方向の場合) 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
  37. 37. 具体例(逆方向の場合) 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
  38. 38. 具体例(逆方向の場合) 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
  39. 39. 具体例(逆方向の場合) 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
  40. 40. 具体例(逆方向の場合) 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)
  41. 41. バーコードは逆でも読めることが、 お分かりいただけたであろうか?
  42. 42. ・・・というわけでつくってみた • WEBカメラ+HTML5+JavaScriptで バーコードリーダーをつくってみました! http://yamanity.blog.ocn.ne.jp/nyantacos/upload/barocodereader_js/index.html
  43. 43. END

×