使用傅里叶变换检测填写表格中框内的 handwritten characters

我试图从框中提取手写字符。由于表格的扫描不一致,框的宽度和高度也不是常数。

这是表格的一部分。

enter image description here

我目前的方法:
1. 提取水平线
2. 提取垂直线
3. 组合上述两张图像
4. 查找轮廓(使用了opencv)

这种方法可以得到大部分的框。但是,当框内填写了像”L”或”I”这样的字符时,字符中的垂直线也会被提取为垂直线的一部分。因此,轮廓也会变得混乱。
由于框是周期性排列的,有没有办法使用快速傅里叶变换来提取这些框呢?


回答:

我最近开发了一个专门处理这个问题的Python包。
我称之为BoxDetect,通过以下方式安装后:

pip install boxdetect

使用时可能看起来像这样(您需要根据不同的表格调整参数):

from boxdetect import configconfig.min_w, config.max_w = (20,50)config.min_h, config.max_h = (20,50)config.scaling_factors = [0.4]config.dilation_iterations = 0config.wh_ratio_range = (0.5, 2.0)config.group_size_range = (1, 100)config.horizontal_max_distance_multiplier = 2from boxdetect.pipelines import get_boxesimage_path = "dumpster/m1nda.jpg"rects, grouped_rects, org_image, output_image = get_boxes(image_path, config, plot=False)

enter image description here

您可以查看下面的讨论以获取更多信息:
如何检测表格中特定字段输入字母的所有框?

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注