检测&使用OpenCV进行Floodfill ROI

时间:2013-01-20 15:05:39

标签: c# image-processing opencv emgucv imaging

我有一份文件图片(黑白,300dpi),包含报纸,如格式化文本(标题,段落栏目等)。
- 如何检测段落列以使用黑色颜色填充它们?
- 我如何与floodfill textcolumns保持距离?

这是否可以使用OpenCV或EmguCV / C#?

请参阅此链接http://goo.gl/6djHt(没有垃圾短信链接)我的意思。

提前感谢任何提示和代码段。

2 个答案:

答案 0 :(得分: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

所以基本上你有一些大数字和一些零。大数字表示包含文本的列。零表示不包含任何内容的列。如果图像中有噪音,你可能不会得到零,但你可能会得到一些小数字,你可以处理它们。

您可以使用上面的数组拆分图像并获取列。然后,您可以使用类似的技术来查找文本行(通过对图像行中的黑色像素求和)。您也可以使用此技术来测量段落之间的距离。

当文本行不是水平时,此方法可能会失败。此外,当您需要分析报纸的整个页面并且布局复杂时,这可能会失败。但是,如果您需要处理链接中的图像,这是一种很好的尝试方法。

答案 1 :(得分:-1)

尝试使用cvDetectParagraph()。

严肃地说,另一张海报已经回答了你的问题,而你似乎只是希望有人为你做这份工作。如果你可以逃脱这么懒惰,那么软件编程就不会成为一种职业。