1

私はなんとか各文字をビットマップに保存し、それがどの文字であるかをすばやく判断する方法を探しています。

したがって、すべての可能な文字を1と0の配列に格納し、それらを取得したビットマップの配列と比較しようとしています。

取得した黒のピクセル数の比較、寸法の比較などの簡単なチェックを行うことはできますが、これらのチェックはすべて低速です(推測です)。

したがって、私が探しているのは、すべてのピクセルを下から上にトラフするか、配列を配列のセットと比較して、1つの配列だけが残るまで不一致を並べ替える方法です。しかし、どうすればそれを実装できますか?

ご協力いただきありがとうございます。

スヴェン

4

1 に答える 1

2

OCRの世界では、ターゲットリソースと元の比較リソースの間で「完全一致」に遭遇することはめったにありません。

実際にはそれは巨大な科学分野ですが、ここにいくつかの基本的な知識を与えるはずの主題に関する素晴らしい論文があります: http ://www.discover.uottawa.ca/~qchen/my_papers/master_thesis.pdf

このようなアルゴリズムは数学的に非常に重く、標準のx86CPU用に最適化されていることに注意してください。

完全に一致するもの(つまり、バイト単位で完全に一致するもの)を探していて、これをすばやく簡単に実装したい場合は、「明らかな不一致をすばやくスキップする」ことをお勧めします-ちょっとしたアルゴリズム-何かのようなもの:

1)配列のサイズを比較します。異なる場合は、探しているものとは異なります。

2)各ビットマップのハッシュ値を比較します

3)各ビット/バイトを1つずつ比較し、違いがわかるとすぐに、それはあなたが探しているものではありません

4)勝つ、あなたは一致を見つけました:)

これは、達成しようとしていることにもよりますが、非常に遅いですが、実装は簡単で、機能します。したがって、プロトタイプのようなアプリケーションに適しています。私が言ったように、OCR(および他のすべての形式のデジタル信号処理)は巨大な研究分野であるため、悲しいことに、人々が簡単なフォーラム投稿であなたに教えることを期待できるものではありません:(

幸運を

[編集]あなたのOQのコメントを見ると、ハッシュテーブル/辞書のデータ構造を探すのがあなたにとって最速だと思います。それ、または二分探索木..両方ともあなたのハッシュキージェネレータに非常に依存しています:)

[EDIT2(xD)]「コンピューターによって生成されたエイリアステキストです。背景は異なりますが、テキストは常に同じ色になります。」そこにある非常に重要な情報:Pテキスト/ビットマップのサイズも常に同じですか?事前設定された背景色を破棄する独自のハッシュアルゴリズムを実装して、ハッシュ値がテキストの色(およびこのあまりにも頻繁な形状)にのみ依存するようにするか、ターゲットのすべての背景ピクセルを単純に書き換えることをお勧めします元の色と同じ色にする(または元の背景をターゲットの背景に設定するだけですか?ここで戦っているデータによって異なります-詳細情報が必要です:))。

于 2009-02-22T13:48:17.083 に答える