Webカメラ(USBカメラ)で本のバーコード読み取り
久しぶりの更新なので、近況報告。
東北の方行って来た。あと、車が10万km超えた。
最近、やたらと本が増えて、どうしようにも管理しなきゃならなくなった。
主に漫画なんだけど、何でこんなにあるのか(買ってきたのか)不思議だ。
管理するのに 私本管理Plus というソフトが良さげなので、試しに使ってみることにした。
しかし、これら本の情報をすべて手で入力するのはとても大変なので、本の裏にあるISBNを読み込んでくれるツールあるか探してみた。
見つからない無いので自作しようとしたけど、作ってる最中に ZBar というオープンソースのバーコード読み込むライブラリがあったので、それを使うことにした。
インストールしてみたけど、どうもカメラ認識してくれないので、その辺は DirectShowを使った、ビデオデバイスからのキャプチャ 最も簡単版 を参考(というか殆どコピペ)に作成。
試しに、デスノートの1~13巻+αを読み込ませた。
YouTube: Webカメラ(USBカメラ)を使ったISBNバーコードの読み取りテスト
縦や横や、ある程度の斜めなら認識してくれる。でも、ぼやけてると駄目っぽい。
全部で1000冊くらいありそうなので、横に並べての連続読み込みテストも。
YouTube: Webカメラ(USBカメラ)を使ったISBNバーコードの連続読み取りテスト
このペースなら、1時間あれば全部取り込めるかな。
一応、ソースとexeも公開しておきます。
ISBN_BarCodeReader_2011_1106.zipをダウンロード 786 KB (805,464 バイト)
ISBN_BarCodeReader_2012_0408.zipをダウンロード 789 KB (808,604 バイト)
誤認識もするので、使いたい方は自己責任でどーぞ。
(あと、ライセンス的にまずかったら、公開停止しますので教えて下さい)
2012/04/08追記:
ISBN以外の指定と、デバイス選択出来るようにしました。
<トラックバック>
数百冊をわずかな時間で読書管理サービスに登録 (IT翻訳者Blog)
Webで書籍管理 @ Kat-a-log
| <コメント> | |
| 投稿: やまいち | 2010-04-04 02:59 | |
| ISBNBarcodeReaderの映像見させていただきました。
ぜひ使わせていただきたいと思い、ダウンロードさせていただきました。バーコードをすぐに認識できました。でも、認識したコードをどうやって映像のようにテキストエディタにとり込んだらよいのかわかりませんでした。教えていただけるとうれしいです。 | |
| 投稿: そうだい | 2010-04-11 14:59 | |
| ダウンロードありがとうございます。 レスが遅れて申し訳ありません。(あんまり見てないもので・・・) テキストエディタに取り込む方法ですが、単純にSendInputというWindowsAPIを使用し、キーを押したイベントを発生させているだけです。 なので、メモ帳などを起動して、そっちをアクティブにすれば取り込まれるはずです。 (もしかしたら、テキストエディタによっては、取り込まれなかったり、Windows7などOSの違いによって駄目だったりするかもしれません) | |
| 投稿: やまいち | 2010-04-11 21:38 | |
| 回答ありがとうございました。 ちゃんと取り込めました。 コメントを投稿したとき、テキストエディタをアクティブにしないでキャプチャしていたので、テキストエディタに取り込むことができませんでした。 今、ティストエディタをアクティブにして試してみたらうまく取り込めました。 メモ帳でもTeraPadでも取り込めました。 ありがとうございました。 | |
| 投稿: 神埼 | 2010-11-20 20:11 | |
| こういうのを探していたんですー!>< ブクログを利用したいと考えているのですが、3000冊のマンガを登録するのが面倒で面倒で……。 そちらのブログで紹介されていたので早速利用してみたいと思います。 ありがとうございました! | |
| 投稿: そうだい | 2011-01-26 22:09 | |
| 神埼さん ダウンロードありがとうございます。 そして、レスが遅くて申し訳ございません。 数が多いと大変ですよね。(10冊くらいでも大変ですけど…) 少しでもお役に立てれば幸いです。 | |
| 投稿: ずぼら | 2011-04-24 20:19 | |
| はじめまして。Webカメラをバーコードリーダーにするソフトをいくつか試している中で こちらのソフトにたどり着きました。 僕はちょっと変わったカメラで使えるリーダーソフトを探していまして… 無線LAN経由でiPhoneをWebカメラにする「iWebCamera」のドライバを利用出来るのはこちらのソフトだけでした。無線カメラで読み込み出来るって果てしなく便利です。 わりかしメジャー?な手段のBCWebCam Free版でもエラーで落ちてしまうのに、このソフトは読み取り・文字列の転送までスムーズに行くのがスバラシイです。 >これでISBN以外のバーコードも読ませられたら快適度500%増しなのですが、EANなどのバーコードを読めるようにする方法ってないでしょうか? | |
| 投稿: そうだい | 2011-05-05 00:04 | |
| ずぼらさん 使っていただき、ありがとうございます。 そして、レスが遅くて申し訳ございません。 ISBN以外の認識ですが、一応、簡単にできます。(ただし、複数バーコードの場合に認識できません) http://mhsodai.kazelog.jp/chalog/files/BarCodeReader.zip 12.3 KB (12,652 バイト) ISBN限定にしている理由は、複数のバーコードを同時に認識した場合の誤認処理が面倒だったからです。 (また、本の裏には2種類のバーコードがあり、ISBNのみ欲しかったという理由もあります) 以前、別の投稿( http://mhsodai.kazelog.jp/chalog/2008/11/post-829b.html#comment-36472949 )にも要望を頂いておりますので、時間があるときに対応してみようかと思います。 | |
| 投稿: ずぼら | 2011-05-13 17:07 | |
| う、うわあああああ!認識バッチリです、素晴らしい! これはヤバいです。僕の理想のバーコードリーダーがたったいま完成しました。 本当にありがとうございます! ご紹介いただいたコードも読ませて頂きますね。うわあ、これは本当に嬉しい! | |
| 投稿: そうだい | 2011-05-30 23:30 | |
| ずぼらさん ダウンロードありがとうございました。 お役に立てたようで良かったです。 | |
| 投稿: りょりょん | 2011-10-20 16:11 | |
| 探し求めていたものがここにありました。是非使ってみたいのですが、カメラの画質はどれぐらいあれば十分に読めるのでしょうか。うちの安物カメラでは読めませんでした。 | |
| 投稿: そうだい | 2011-10-28 00:45 | |
| りょりょんさん ダウンロードありがとうございます。 返信遅くてすみません。 推奨は30万画素(640×480)です。 この解像度でピントが綺麗に合っていれば、ほぼ読み取れます。 また、10万画素(320×240)のカメラでも、画面いっぱいにバーコードを表示し、綺麗に撮影出来れば、認識は可能です。 以下、バーコードの認識についての詳しい説明です。 一般的に、ISBNのような13桁のバーコード(EANコード)は、113本の白と黒のバーで構成されています。 ISBN_BarCodeReaderでは、ZBarというライブラリでバーコードを認識していて、このライブラリの説明を見るかぎりでは、左右の空白マージンを取り除いた95本のバーで認識が可能みたいです。 http://sourceforge.net/apps/mediawiki/zbar/index.php?title=Troubleshooting#Size.2FResolution しかし、カメラのピントをとても綺麗に合わせても、一番細いバーを認識するには2~3ピクセル程度は必要になります。 このため、200~300ピクセルの解像度から、バーコードの認識が可能となります。 10万画素(320×240)のWebカメラなら、画面いっぱいになるようバーコードを撮影する必要があります。 30万画素(640×480)のWebカメラなら、画面の1/4以上となるようバーコードを撮影する必要があります。 参考までに、自分が使用しているカメラは UCAM-E1D30MBK です。 http://www2.elecom.co.jp/multimedia/pc-camera/ucam-e1d30m/ | |

Hey there~
thanks for sharing this info with us~
I'm using this .NET barcode reader~
http://www.onbarcode.com/products/net_barcode_reader/
Pretty good~maybe you'd wanna have a try~
投稿: Nathan Depp | 2011年11月28日 (月) 11:36
はじめまして。
すばらしいものに出会えました。感謝しています。
ただ、デスクトップの、Windows7ではあっさりできるのですが、
ノートのXPではカメラが認識されないのか、グレー(何度か再インストールして真っ赤になる時もあった。)のまま、画像が映らず使えません。
カメラそのものは認識されていて、他のソフトでは利用できていて、このソフトだけ画像が映らない状態なので、原因がわかりません。
USB接続、Logitechの30万画素のカメラで、
かなり古いもので型番がわかりません。
利便上、どうしてもノートのほうで利用したいのですが、
dllファイルが足りないとか、解凍したもの意外に絶対に必要なファイルとかありますか?
何か思い当たることございませんでしょうか?
お時間が有りましたらよろしくお願いいたします。
投稿: おにおに | 2012年2月23日 (木) 14:15
自己解決しましたm(__)m
すみません。
他のソフトをインストールしてみて、設定のところを見ていたところ、2つのカメラが選択できました。
こちらのソフトでは、ビデオのデバイスを読み込んでしまっていたようで、
そちらを無効にしたら、読めるようになりました。
お騒がせいたしました。
いくつかドライバが入っている場合、選択できるようになると良いなと思います。
投稿: おにおに | 2012年2月23日 (木) 17:10
おにおにさん
はじめまして。ダウンロードありがとうございます。
レスが遅れて申し訳ございませんでした。
また、いい加減な実装をしているために、ご迷惑をおかけいたしました。
複数デバイスの選択については、あまり難しくないので、今後対応してみようと思います。
ご指摘ありがとうございました。
投稿: そうだい | 2012年4月 3日 (火) 00:50