【Google AI Studio】時短クッキング No.45:AIによるバーコード・QRコードの読み取り検証&アプリ化まで
商品や物流の管理でおなじみのバーコード。
スーパーのレジでは、多少斜めになっていたり歪んでいたりしても、
あっさり読み取れているのを見ると、
「バーコードって意外と簡単に読めるのかも?」と思ったことはないでしょうか。
今回はその素朴な疑問から出発し、
AIでバーコードを読み取ることは可能なのか?
というテーマで、実験とアプリ化を行ってみました。

AIでバーコードを読み取ってみた
方法はシンプル。
バーコードとQRコードの画像を用意し、それをAIに渡して、
「このコードを読み取ってください」と指示するだけです。
テストに使用したのは、以下の最新AIたち:
Gemini 3
Claude Sonnet 4.5
ChatGPT 5.2
検証に使ったのは、以下の画像です。
日本の書籍によくある「2段バーコード(ISBN+雑誌コード)」

単純なメッセージ入りのQRコード

Gemini 3で読み取ってみた
バーコード読み取り結果(×失敗)
提示された画像は、日本の書籍の裏表紙などで一般的に見られる
「2段バーコード(書籍JANコード)」です。
誠に残念ながら、以下の理由により、この画像から具体的な数値を正確に読み取ることができません。
数字が隠されている: 通常、バーコードの下に記載されている数字(OCR-Bフォントの文字)が
白く塗りつぶされており、目視での確認ができません。
画像解析の限界: 現在の機能では、画像内の「バーの太さや間隔」を直接スキャンして
デコード(数値化)することが難しいためです。
QRコード読み取り結果(×失敗)
大規模言語モデルとして私はまだ学習中であり、その質問には答えられません。
Claude Sonnet4.5で読み取ってみた
バーコード読み取り結果(×失敗)
申し訳ございませんが、画像からバーコードを直接読み取ることはできません。
画像には2つのバーコードが写っていることは確認できますが、バーコードに含まれる数字やデータを解読するには、専用のバーコードリーダーやスキャナーアプリが必要です。
QRコード読み取り結果(×失敗)
申し訳ございませんが、QRコードの内容を直接読み取ることはできません。
画像にQRコードが写っていることは確認できますが、QRコードに埋め込まれた情報を解読するには、専用のQRコードリーダーが必要です。
ChatGPT 5.2でを読み取ってみた
バーコード読み取り結果(〇成功)
読み取れました 👍
この画像には 2つのEAN-13バーコード があります。
9784768302323
1929472026006
上が 978…(ISBN系によく使われる番号)、
下が 192… のコードですね。
QRコード読み取り結果(〇成功)
読み取り結果はこちらです 👀
QRコードの内容:
これはQRコードです。
ちゃんとシンプルなメッセージが入っていましたね。
検証まとめ:勝者は ChatGPT 5.2
今回の実験で、唯一読み取りに成功したのは ChatGPT 5.2 でした。
バーコードには下に数字が添えられているものですが、それがあると、AIはその数字を読み取ってしまいます。そこで今回は、数字を隠して検証実験を行っています。線のパターンだけで読み取りができたChatGPT 5.2には驚かされました。
一方、Gemini 3 や Claude は、読み取り自体を断念。AIにバーコードを学習させる意味がないということかもしれません。
ちなみに、たとえChatGPT 5.2であっても、画像が斜めに歪んだだけで読み取り失敗になりました。QRコードの読み取りも百発百中であるほど安定はしていないようです。

アプリを作りました
Gemini 3 でバーコードの解析に失敗しているので、Google AI Studio でアプリを作ってもバーコードを正しく読める可能性は低い…
しかし、それでも「いずれできるようになる」ことに期待して、バーコード読み取りアプリを試作してみました。
1.実行画面
ドラッグ&ドロップで画像を投げ込むと…

2.解析画面
これで解析結果が表示されます。
次は、QRコードを対象に解析した例となっていて、実際「それっぽい解析結果」が返ってきています。しかし、その内容は不正確。今回は、それを確認すれば十分かと思います。

シェア
ご利用ください。

まとめ:時期尚早でしたが…
というわけで、バーコードは想像以上に幾何学的な厳密さが求められる要素であり、
現時点のAIでは、「人間の目」や「レジのスキャナ」のようにスムーズに読み取ることは難しいという結果になりました。
とはいえ、数年後にはAIがリアルタイムに商品を認識し、処理を行う時代がやってくる可能性は十分にあります。
そのときに振り返る意味でも、今回の検証結果は「現状の限界を示すひとつの対比データ」として、一定の価値があると考えることにしました。
以上!
いいなと思ったら応援しよう!
記事なり、プログラムなりが役に立ったと思った方は、
チップの応援よろしくお願いいたします。
次の開発もがんばろうかな、という気になりますのだ (笑)