我想从扫描的表中提取信息并将其存储为csv。现在我的表提取算法执行以下步骤。
该算法适用于数字生成的pdf和大多数扫描文档。但是,有些文件有一个嘈杂的表格,因此没有正确识别线条。
这是我的算法失败的示例图像。
这些是我在这张桌子上做的操作。 1.高斯模糊
2。新年的缘故
3.形态开放
4.Canny边缘检测
5.过滤后的线条,正如您所看到的那样,明显无法正确识别线条。
任何人都可以建议更好的方法从这种质量较低的扫描中提取水平和垂直线。
提前致谢!!
问题是并且始终是你没有完美的线条。这种方法的一个解决方案可以是:
我在这篇博客中找到了完美的解决方案。 https://medium.com/coinmonks/a-box-detection-algorithm-for-any-image-containing-boxes-756c15d7ed26
在这里,我们使用垂直内核来检测垂直线和水平内核以检测水平线,然后将它们组合以获得所有需要的线,从而进行形态变换。
问题可能出在HoughLinesTransform()中
您可以尝试使用:HoughLinesTransformP()
为了使HoughLinesTranform()完美地工作,线条必须是完美的。从您提供的图像中,您可以清楚地看到失真,这显然导致方法失败。
尝试先扩大图像。 Image Dilation in Python.