我是图像处理的新手,这就是我面临的问题 - 假设我有一个申请表的图像,如下所示:
现在我想检测要输入数据的所有位置的位置。在这种情况下,将矩形划分为多个框,如下所示(并非所有字段都标记):
我可以忍受照片框也被检测到。我已经尝试在 OpenCV 源代码中运行 squares.cpp 示例,但这并不能完全满足我的需求。我还在这里尝试了修改后的版本- 结果更糟(我的用例肯定与那个问题中的 OP 非常不同)。
此外,在有/没有模糊阈值的情况下,霍夫变换并不能真正起作用,因为扫描图像中的噪声会导致多余的线条,而且阈值处理会带走部分梳子(小方块),因此线路检测不达标。
请注意,此表单不是打印表单的扫描副本,但真正的输入很可能是打印表单的嘈杂扫描图像。
虽然我确信这是可能的(至少允许一些容忍度)并且我正在尝试解决问题,但如果我从其他可能尝试过这样的事情的人那里获得见解和想法,那将非常有帮助/enjoy 破解 CV 问题。此外,如果答案能解释为什么要完成特定操作(例如,扩张以尝试填补阈值留下的任何漏洞等),那就太好了