画像から文字を抽出するための優れたアルゴリズムを知っている人はいますか。すべての文字は黒で、背景は白です。実際、画像は単なる印刷物になります。DFSやBFSなどの検索アルゴリズムを使用して文字をクラスター化することを考えていますが、もっと良いものがあるかどうかわかりませんか?トリックを行う可能性のあるライブラリを提案できますか?画像をより小さな画像にカットしたいだけです。各画像はキャラクターを表しています。
3 に答える
このようなアルゴリズムは通常、OCR(光学式文字認識)と呼ばれ、すべてのオペレーティングシステムで、それをより良くまたはより悪く、無料で、商用で、それらの多くを実行するユーティリティをすぐに使用できることがわかります。実際、一部はスパム検出などで使用され、受信メールの画像上の単語をオンザフライで認識します。そのため、画像を見なくてもシェル内から認識できます。画像からプレーンテキストファイルにテキストを抽出するのはあまりうまくいきません。 。
python through scipy
パッケージでは、scipy.ndimage.label(img)
メソッドを使用できます。画像内のさまざまな文字にラベルを付け、後でscipy.ndimage.find_objects
それらの文字を抽出するために使用する必要があります。ただし、最初に画像を反転して、背景色が白ではなく黒になるようにする必要があります。
あなたはあなたが望むものを正確に見るために画像を投稿したいかもしれません。
わかりました。これは役立つかもしれませんが、最終的にはDFSを使用して文字を検索しました。また、一部のピクセルがキャラクターの一部であるかどうかを判断するためのヒューリスティックもありました。また、一部の文字は(iのように)分離されているため、後でそれらを組み合わせるかどうかを決定する必要がありました。実際、それは非常にうまく機能しました。それはかなり前に行われたのですが、私がずっと前に尋ねた質問に答えることに決めました。