cht*_*mon 9 python image-processing
我用Python编写了一个程序,它自动读取这样的评分表

目前我正在使用以下基本策略:
运行程序的结果如下图所示:

您可以在左上方显示的图像下方和右侧看到峰值图.左上图中的线是列的位置,红点表示识别的分数.直方图右下方显示每个圆的填充水平和分类线.
此方法的问题在于需要仔细调整,并且对扫描设置的差异很敏感.是否有一种更健壮的方式来识别网格,这将需要较少的先验信息(目前我正在使用有关多少点的知识),并且对于在纸张上绘制其他形状的人更加健壮?我相信可能有可能使用2D傅立叶变换,但我不确定如何.
我正在使用EPD,因此我可以使用相当多的库.
正确的方法是对图像使用连通分量分析,将其分割成“对象”。然后,您可以使用更高级别的算法(例如,组件质心上的霍夫变换)来检测网格,并通过查看其包含的活动像素数量来确定每个单元格是否打开/关闭。