3

スキャンした文書を印刷するためのアラビア語 OCR に取り組んでいます...スキャンした文書の中には、非常に小さい高さ 8 のフォント サイズで書かれているものがあります...高さを 60 ピクセルに変更したいのですが、原因でアーティファクトが発生する場合がありますアラビア文字の性質..一部の文字は重複する可能性があります.サイズ変更後にローカルしきい値法を使用しましたが、結果はまだ受け入れられません...何かアイデアはありますか?

これは画像の例です:

画像1

これは、ウィンドウ サイズとして 50 を使用してサイズ変更し、ローカル適応しきい値を適用した後の同じ例です。

画像2

ご覧のとおり、一部の文字には次のような不連続があります。

画像3

テキストの形状を維持しながら画像のサイズを変更する方法はありますか?

文字の不連続性を修正するための私のアプローチ:

  • 16 のウィンドウ サイズを使用してローカル適応しきい値を使用してサイズ変更する前に元の画像にしきい値を設定します (これにより文字の不連続性は解決されますが、文字の穴は埋められます) と呼びますsmallbw

  • を使用してサイズを変更し、smallbwを使用imresize(smallbw, [nh nw], 'nearest')して文字の穴を埋めますimfill

  • imresize(originalIm, [nh nw], 'nearest')call itを使用して、元の画像のサイズを高さ 60 ピクセルに変更します。largebw

  • largebw使用中の穴を埋めimfillて呼び出すbwfill

  • から穴を抽出largebwするbwholes = bwfill - largebw

  • 最後に、から減算bwholessmallbwてこれを取得します

画像4

ここで、文字 @Image 3 で見つかった不連続性が解決されたことがわかります ... しかし、ここで発生する別の問題があります。

画像5

これは私がこれまで達成できた最高の結果です...これらの問題を解決できる他のアイデアはありますか?? この問題に解決策がないと思われる場合、サイズ変更を使用するのではなく、どうすれば解決できますか? 8 ではなく 12 フォント サイズのテキストを使用するのはどうですか?

お役立ちリンク : 局所適応閾値法を使用

オペレーティング システム: Windows 7

プログラミング環境:Matlab 2013a - 画像処理ツールボックス

4

0 に答える 0