私は自分の学習目的で、次のような本棚のイメージを与えられて、本をリストするアルゴリズムの実装を開発しようとしています:
最初のステップは、画像を個々の本にスライスすることです。
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}]]
ただし、結果はそれほど優れていません。
私の質問は:
- これを改善してより良い結果を得るにはどうすればよいですか?
- これを行うよりスマートな方法はありますか?
- (後の)OCRフェーズで精度を高めるために、さらにどのように画像を処理する必要がありますか?
- 色情報を使用してセグメンテーションを改善する方法は?
1
@OrenPinskyセグメンテーションに問題はありません。「偽の本領域」の数は多くありません(提供されたサンプルでは1つしか表示されません)。次のステップ、それは本(領域にテキストがある)と非本(テキストがない)を区別するのに十分であるべきです
—
ペネロペ
@OrenPinsky、あなたの結果はかなり素晴らしいと思います。:)
—
ディマ