前回は「バーコードって白黒の反射を読んでるだけなんですよ」っていう、拍子抜けするくらいシンプルな原理の話をしたんですよね。
でも、ここで素朴な疑問が湧いてくる。
実際の現場では、「ピッ!」って一発で鳴らないこと、けっこうありませんか?
セルフレジで角度を変えて何度も滑らせたり、店員さんが「ちょっと失礼しますね〜」って商品をやさしく撫で回したり。あの儀式、誰しも見覚えがあるはず。
…で、結局あれって何が起きてるの、っていう話。
仕組みがシンプルなら、つまずく原因もシンプルなはず。今回はその「読めない!」の正体を、ひとつずつ分解していこうと思います。
その1:コントラスト不足(要するに、色の問題)
体感、これが一番多い気がします。
そもそもバーコードは「反射率の差」を読み取っているわけで、原理的にはとても素直なんですよね。
- 黒に近い色 → 光を吸収して、反射しにくい
- 白に近い色 → 光を返して、反射しやすい
つまり、はっきりした「明暗の段差」があってはじめてバーが識別できるってわけです。本来は「黒と白」がベストっていうのも、そういう理由。
ところが世の中、デザイン優先で「金色バーコード」とか「グレー地に濃グレーのバー」みたいな攻めたパッケージが時々あるんですよね。あれ、見た目はおしゃれなんだけど、リーダー側からすると「境界、どこ…?」って固まってしまう原因になりがちと言われています。
ちなみに、赤いバーコードも要注意ポイントだったりします。古くから使われている赤色レーザー式のスキャナだと、赤いインクは「光をしっかり返してしまう=白に近い」ように見えてしまうことがあるそう。つまり、人の目には黒っぽく見えても、機械からは“ほぼ白”扱い、というすれ違いが起きるわけです(諸説あり、機種にもよります)。
デザインの自由度を上げると、機械可読性は下がる。ここはトレードオフなんですよね。
(ブランドのこだわりも大事だけど、現場で読めないと結局困るのは小市民、っていう(笑))
その2:光沢素材(テカテカは、思った以上に強敵)
次にあるあるなのが、「反射しすぎ問題」。
たとえばこんなやつ。
- ラミネート加工されたツルツルの紙
- ビニール包装の上にそのまま貼られたバーコード
- ペットボトルみたいな曲面についているバーコード
このパターン、光が一方向にギラッと反射してしまって、肝心の「黒バーが吸収した/白部分が返した」という細かな差が、センサー側で埋もれちゃうんですよね。光量が多すぎて飛んでる、と言い換えてもいいかもしれません。
対策としてよく効くのが、
- リーダーを少し傾けて、まっすぐ反射する光をわざと外す
- 手の影をかぶせて、光量を一段落とす
このあたり。店員さんが商品をスッと寝かせて読ませる動作、あれ実はちゃんと光学的に理にかなっているとされていて、見ていて感心する所作だったりします。
(昔、CDショップで中古ケースのバーコードに何度も泣かされた記憶が蘇る…)
その3:汚れ・破れ・傷・にじみ(物理ダメージ系)
これも王道トラブル。
インクがにじんだ、印字がかすれた、バーの一部がこすれて消えた。こういう物理的なダメージが入ると、デコーダー側は「あれ、ここのバー、本当にあった?なかった?」と判断保留に追い込まれてしまうんですよね。
ところが、ここで頼もしいのが「リダンダンシー(冗長性)」という考え方。
QRコードやPDF417といった2次元コードには、もともと「一部が欠けても残りから元のデータを復元できる」という仕組みが組み込まれていると言われています。エラー訂正レベルを高めに設定したQRコードだと、面積の3割くらい欠損していても読めるケースがあるそう(条件次第、なので過信は禁物ですが)。
ちなみに、1次元バーコード(一般的なJANとか)は、その点ではちょっと不利。横一列の情報しかないので、欠けるとそのまま致命傷になりやすい。コストと用途のバランスで割り切られている、っていうわけです。
(コンビニのおにぎりに高機能QR、っていうのもオーバースペックですしね)
その4:読み取り距離・角度・速度問題
セルフレジで焦る三大原因、というのが体感あって、
- 距離:近すぎても遠すぎても、レンズの被写界深度から外れて像がぼやける
- 角度:寝かせすぎると反射光が戻ってこないし、立てすぎると鏡面反射でセンサー直撃
- 速度:早すぎるとサンプリングが追いつかず、バーの「太さ」を取り違える
つまりスキャナにも“気持ちよく読める範囲”があるんですよね。最近のイメージスキャナ(カメラ式)は画像処理がかなり優秀になっていて、多少雑にかざしてもなんとかしてくれることが多い。一方、昔ながらのレーザー式はもう少し繊細だったりします。
セルフレジで焦ると、人は無意識に「速く・近く」やりがち。落ち着いて、商品をリーダーの“正面・適正距離・少しゆっくり”で通すと、面白いくらい一発で鳴ったりします。試してみてください。
その5:そもそも「対応シンボロジー外」問題
ちょっとマニアックですが、業務でリーダーを買うときに見落とされがちな落とし穴。
バーコードと一口に言っても、種類は意外と多いんですよね。
- JANコード(日本の小売用、おなじみのやつ)
- UPC(アメリカ系の小売用)
- Code39(産業・倉庫系)
- Code128(物流・高密度データ用)
- QRコード(2次元の万能選手)
で、リーダーには「対応シンボロジー(対応規格)」というスペックがあって、機種によっては「Code128は読めません」みたいに、特定の規格を最初からスキップしている子がいるんですよね。
業務用途で導入するなら、ここのチェックは外せないところ。「とりあえず安いやつ」で入れてしまって、現場の伝票が読めず大慌て、というのは、地味によくあるトラップだったりします。
(個人で買うときも、対応規格はサラッと確認しておいたほうが幸せです)
ちょっとした雑学:読み取れなくても、すぐ諦めない
最後に、現場でちょっと役に立つ小ワザを並べておきます。
- リーダーを少し寝かせて、斜めから当ててみる
- 明るすぎる場所なら、影を作って光量を落とす
- 透明フィルム越しなら、可能なら外す
- 汚れていたら、軽く拭く(息ふーふーは、意外と効きます)
仕組みが「光と反射」である以上、できることは「光の入り方を変える」「反射の邪魔を取り除く」のどちらか。原理が分かっていると、対処の引き出しが一気に増えるんですよね。
(とはいえ、セルフレジで儀式みたいにやりすぎると不審がられるので、ほどほどに、というところ)

今回のまとめ
- 読めない原因の大半は、結局のところ「光」と「反射率」の話に行き着く
- 光沢・汚れ・印字ミスは、シンプルな原理ゆえにシンプルに刺さってくる
- 2次元コード(QR等)は冗長性のおかげで耐性が高めとされている
- リーダーを買うときは、価格より先に「対応シンボロジー」をチェック
仕組みがシンプルなものほど、「なぜ動かないか」も論理で追える。これ、バーコードに限らずいろいろなものに使えるアプローチで、けっこう人生で役に立ちます(大げさ)。
次回はもう一歩踏み込んで、「自作バーコードリーダーの作り方」にチャレンジしてみようかと思っています。ちょっとプログラマー魂をくすぐる内容になる予定なので、よかったらお付き合いください。
(実は昔、ちょこっと作ってみたことがあるんですよね(笑))
| ビジコム 省電力 バーコードリーダー 1次元 1D USB Type-A ホワイト 液晶画面読取 GS1 DataBar対応 スキャナ バーコードスキャナ BC-BR1000U-W 日本語説明書 BUSICOM 新品価格 |



コメント