フォトアルバム

サイト内検索

最近のトラックバック

更新ブログ

Powered by Six Apart
Member since 11/2011

twitter

  • なう
  • 広告

おすすめ商品

  • Amazon.co.jpアソシエイト

« D言語からDXライブラリを使う方法(C#用のDxLib.dllを使用) | メイン | 復旧中 »

2009年11月 8日 (日)

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/

トラックバック

このページのトラックバックURL:
http://app.kazelog.jp/t/trackback/556777/27428201

Webカメラ(USBカメラ)で本のバーコード読み取りを参照しているブログ:

コメント

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~

はじめまして。
すばらしいものに出会えました。感謝しています。
ただ、デスクトップの、Windows7ではあっさりできるのですが、
ノートのXPではカメラが認識されないのか、グレー(何度か再インストールして真っ赤になる時もあった。)のまま、画像が映らず使えません。
カメラそのものは認識されていて、他のソフトでは利用できていて、このソフトだけ画像が映らない状態なので、原因がわかりません。
USB接続、Logitechの30万画素のカメラで、
かなり古いもので型番がわかりません。
利便上、どうしてもノートのほうで利用したいのですが、
dllファイルが足りないとか、解凍したもの意外に絶対に必要なファイルとかありますか?
何か思い当たることございませんでしょうか?
お時間が有りましたらよろしくお願いいたします。

自己解決しましたm(__)m
すみません。
他のソフトをインストールしてみて、設定のところを見ていたところ、2つのカメラが選択できました。
こちらのソフトでは、ビデオのデバイスを読み込んでしまっていたようで、
そちらを無効にしたら、読めるようになりました。
お騒がせいたしました。
いくつかドライバが入っている場合、選択できるようになると良いなと思います。

おにおにさん

はじめまして。ダウンロードありがとうございます。
レスが遅れて申し訳ございませんでした。

また、いい加減な実装をしているために、ご迷惑をおかけいたしました。

複数デバイスの選択については、あまり難しくないので、今後対応してみようと思います。

ご指摘ありがとうございました。

はじめまして。
ダウンロードさせていただきました。素晴らしいソフトですね。
私はバーコードでなく、QRコードを読み取りたいのですが、何か方法がありますでしょうか?
フリーのQR読み取りソフトをいろいろと試しましたが、これほどスピーディに読み取れるソフトはありませんでした。
よろしければ、教えていただきたいです。
よろしくお願いいたします。

はまやさん

はじめまして。ダウンロードありがとうございました。

QRコードについてですが、元々ISBNのバーコードだけ読めれば十分と考えておりましたので、どのように対応すれば良いか分かりかねます。

ZBarはQRコードも認識してくれるみたいなので、今後対応してみようと思います。

はじめまして
youtubeの電源タップ(http://www.youtube.com/watch?v=GsJFPR6Cqrg)に興味がありここにたどり着きました。
電源タップの記事は復旧中のところでしょうか?
復旧楽しみにしています。
よろしくお願いいたします。

やまよさん
はじめまして。書き込みありがとうございます。

電源タップですが、オフ会用のネタで作ったものなので、特に記事にはしてないです。

最近は寝る時も枕元にスマホ置いてあるし、部屋の電気消せたり、テレビやエアコン(扇風機)消せたりすると便利ですよねー。って話をしました。

あまり公開するような出来ではないですが、時間ある時に写真撮ってアップしてみようと思います。

Have you ever thought about writing an e-book or guest authoring on other blogs? I have a blog based upon on the same ideas you discuss and would really like to have you share some stories/information. I know my viewers would appreciate your work. If you're even remotely interested, feel free to send me an e-mail.

To Anh
Thank you for your comment.
However I cannot understand your message.
Because I cannot read English.
Thank you to have an interest for me.

はじめまして、
このソースを参考にして、自作のバーコードから値を読み取るプログラムを作成したいと考えています。
(できればQRコードで読み取りを行いたいのですが
私も方法がよくわからないので…)
「ISBN以外の指定と、デバイス選択出来るようにしました」
と書かれているのですが、どのように指定すればよいのかが分かりません…
どのように行えばよろしいでしょうか。

本しかよ読めないのね。

Thanks , I've recently been looking for information about this topic for ages and yours is the greatest I've found out till now. But, what about the bottom line? Are you certain concerning the supply?

I have been surfing online more than 3 hours today, yet I never found any interesting article like yours. It is pretty worth enough for me. Personally, if all webmasters and bloggers made good content as you did, the net will be much more useful than ever before.

コメントを投稿