本棚の画像からの本のタイトルと著者のスライスと認識


12

私は自分の学習目的で、次のような本棚のイメージを与えられて、本をリストするアルゴリズムの実装を開発しようとしています:

ここに画像の説明を入力してください

最初のステップは、画像を個々の本にスライスすることです。

Mathematicaでの私のアルゴリズムは次のとおりです。

    img = ColorConvert[Import["http://i.stack.imgur.com/IaLQk.jpg"], "GrayScale"]
  • 基本的なエッジ検出を行い、
  • テキストを削除し、長い行を維持しようとします

    edge = DeleteSmallComponents[EdgeDetect[img, 3],Last[ImageDimensions[img]]/5]
    
  • 次に、不要な水平線を削除します

    lines = Sort[ImageLines[img5] /. {{0., _}, {_, _}} -> Sequence[]]
    Show[img, Graphics[{Thick, Orange, Line /@ lines}]]
    

ただし、結果はそれほど優れていません。

ここに画像の説明を入力してください

私の質問は:

  1. これを改善してより良い結果を得るにはどうすればよいですか?
  2. これを行うよりスマートな方法はありますか?
  3. (後の)OCRフェーズで精度を高めるために、さらにどのように画像を処理する必要がありますか?
  4. 色情報を使用してセグメンテーションを改善する方法は?

1
@OrenPinskyセグメンテーションに問題はありません。「偽の本領域」の数は多くありません(提供されたサンプルでは1つしか表示されません)。次のステップ、それは本(領域にテキストがある)と非本(テキストがない)を区別するのに十分であるべきです
ペネロペ

3
@OrenPinsky、あなたの結果はかなり素晴らしいと思います。:)
ディマ

回答:



4

どの方法を使用して線を検出していますか?LSDを試してみましか?

LSDを使用して行ったクイックテストの結果は次のとおりです。

0.1heghtpic1

2番目の画像は、角度の制約は同じですが、セグメントの長さを無視した結果です。 pic2

これを少し試してみて、最適な線セグメントを選択する方法を見つけ、それらを線に拡張して、投稿したものよりもわずかに良い結果を得ることができます。


6
「LSDを試してみましたか?」ナイストライ、FBI;)
ロレムイプサム

MathematicaのImageLineはHough変換に基づいており、私は(ここでのフィードバックから、主に)それがかなりうまくいくと確信しています。ただし、グレースケールに変換すると関連データが失われ、このアプリケーションでは、カラーデータが(直感的に)堅牢なエッジ検出器に役立つ可能性があることを気にします。(スティーブ・ジョブズにとって驚くほどうまくいきました!;
オレン・ピンスキー

友人がドア検出にLSDを使用しているのを見たことがありますが、彼は最終的に結果に満足していたと思います。私はそれがショットの価値があると思います:D-
ペネロペ

1

エッジ検出に選択した方法を使用して、個々のカラードメインでエッジ検出を行ってから、それらをマージすることができます。

カラー画像上で直接エッジ検出を行うよりも、より良い結果が得られる場合があります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.