2016-08-04 7 views
5

解決策を探しているのではなく、これに関するガイダンスを探している可能性があります。 これはAndroidアプリに「ドキュメントスキャナ」を実装するためのものです。私はまさにこの行う必要がありAndroidページ/エッジ検出と変換ページ。 B/W tiffに変換する

:カメラ付き

  1. テイク画像(問題なし)
  2. は、ページの端/コーナーを検出(???)
  3. なし(角を調整/ユーザーが移動できるようにします問題)
  4. それ矩形にするために画像を変換(???)
  5. 変換画像B/W TIFFまたはモバイルネットワークを介して伝送するためのいくつかの他の適切な形式(コンパクト、ピクセル当たりのビット)(???)

私が試したこと。 Open CVを使用しようとしました。それは巨大で、NDKがあります。セットアップとインフラストラクチャはかなり複雑です。

この作業を正確に行うために軽量で設計されたものはありますか?商業さえ大丈夫かもしれない。

ちょうどこのにアプローチする方法についての提案を探して...主な問題は、エッジを検出し、私が考える変換することです

..

答えて

3

私はあなたのためにこれを処理する任意のライブラリを知らないが、私は遭遇しました同様の結果を達成するオープンソースプロジェクトはほとんどありません。ほとんどはOpenCVライブラリおよび/またはOpenCV4Android SDKに基づいています。ここではいくつかの注目すべきプロジェクトは、以下のとおりです。

別の同様のライブラリが含まれていText Recognition API GoogleのMobile Vision API、です。これにより、ドキュメントを白黒イメージに変換することはできませんが、ドキュメントをプレーンテキストに変換することができます。

ネットワーク経由で送信するための画像の変換については、 Androidはnatively supportのTIFFファイル形式ではありませんが、少なくともこの変換を処理するone libraryがあります。 Androidは、画像を圧縮してJPEG, PNG or WEBPとしてネイティブでサポートしています。これを使用して、ネットワーク経由でエンコードされた文字列としてデータを送信できます。

ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream); 
byte[] bytes = outputStream.toByteArray(); 
String encodedImage = Base64.encodeToString(bytes, Base64.DEFAULT); 
関連する問題