安曇野の森から> 一万円で作るブックスキャナ> 読みとりプログラム

読みとりプログラム

Webカメラからの読み取り

UVCを使ってのWebカメラ画像の取り込みにはEPWLibを使います。

画像処理にはインテルが開発したオープンソースの画像素処理ライブラリOpenCVを使い、プログラムはVisual C++ 2008 Express Editionを使ってビルドします。

ノートPCなどで、すでにWebカメラが付いている場合、解像度の違うカメラが混在することになりますので初期化が少し面倒です。今回作成したプログラムでは1.3Mの解像度で初期化してみて、初期化に失敗したらQVGAの解像度で初期化するという方法を使っています。

また、どのカメラに何番のカメラ番号が付くかは製品によって違うようで、一意に決めることが出来ません。従って、スキャナで使用しているカメラのカメラ番号を、あらかじめデバイスマネージャーから読み取ってソフトウェアに設定する必要があります。


画像処理

カメラからはカラー画像が送られてきますので、データ量を減らすためにグレー画像に変換します。
2台のカメラで撮影した場合、左右のページで向きが反対になります。また、カメラから取得した画像は横長ですので縦長に回転させる必要があります。
回転させたグレー画像は読みやすくするためにエッジ強調と適用二値化処理を行います。その後、紙面の必要な部分を切り出す処理を行います。


画像保存

処理を加えた画像に連番のファイル名称を付けて保存します。

最後に全ページの画像ファイルをまとめて1つのPDFファイルへ変換をしてくれるフリーソフトウェアを使ってPDFファイルに変換します。



inserted by FC2 system