0

新聞のような書式設定されたテキスト (タイトル、段落列など) を含むドキュメント画像 (白黒、300dpi) があります。
- 段落列を検出して黒色で塗りつぶすにはどうすればよいですか?
- Floodfill textcolumns との距離を取得するにはどうすればよいですか?

これは OpenCV または EmguCV/C# を使用して可能ですか?

私が意味することのこのリンクhttp://goo.gl/6djHt (スパムではありません) を参照してください。

ヒントとコードスニペットをよろしくお願いします。

4

2 に答える 2

1

画像の各列の黒いピクセルの数を数えてみてください。これにより、次のような配列が得られます (すべての数字は構成されています)。

0 0 0 987 935 967 923 975 954 932 944 0 0 0 923 965 987 933 965 976 922 0 0 0

基本的に、いくつかの大きな数といくつかのゼロがあります。大きな数字は、テキストを含む列を示します。ゼロは、何も含まれていない列を示します。画像にノイズがある場合、ゼロにならない場合がありますが、小さな数値が得られる可能性があり、それらを処理できます。

上記の配列を使用して画像を分割し、列を取得できます。次に、同様の手法を使用してテキストの行を見つけることができます (画像の行の黒いピクセルを合計することによって)。この手法を使用して、段落間の距離を測定することもできます。

テキストの行が水平でない場合、このメソッドは失敗する可能性があります。また、新聞のページ全体を分析する必要があり、レイアウトが複雑な場合、これは失敗する可能性があります。しかし、これは、リンクにあるような画像を処理する必要がある場合に試すのに適した手法です。

于 2013-01-20T17:41:21.560 に答える
-1

cvDetectParagraph()を試してください。

真面目な話ですが、他のポスターはすでにあなたの質問に答えており、あなたは誰かにあなたのために仕事をしてもらいたいようです。あなたがそんなに怠惰になるのをやめることができれば、ソフトウェアプログラミングは職業ではないでしょう。

于 2013-01-22T18:27:07.340 に答える