我正在用PHP构建一个Web应用程序,部分要求是我需要能够在一个相当简单的表单的扫描副本上快速处理数据,并将其保存到数据库中以便以后检索。
给出以下图片
如何识别和分配数据库字段的值为true或false(当看到勾号时为true,否则为false)?
我正在考虑以下实施方案:
我将保留上面图像的两个副本 - 第一个将显示刻度(如上所示),第二个将是留下边框的图像的“干净”副本。比较两个图像将产生差异;差异将返回true或false值。
就我可以观察到的上述实现而言,存在缺点。如果用户在其中涂写某些东西会发生什么(如上所示),但这并不意味着什么?我如何确保将返回的true或false值分配给数据库中的相应列?
此时我没有任何代码实现,我不是要求它。相反,我正在寻求关于在哪里寻找以及如何有效地做到这一点的指导。
答案 0 :(得分:0)
您可能想要使用PHP OCR library。
答案 1 :(得分:0)
我将通过以下方式做到:我将图像划分为2x6网格并计算每行中的黑色像素。如果n
中包含数字<A;B>
,那么我们可以假设检查了行。如果有人抓取答案,则n
大于B
。
因此,如果n
在<A;B>
范围内,我们可以检查其模式 - 例如,由于用户的手写,所有标记行的公共部分。
答案 2 :(得分:0)
您可以尝试使用OpenCV框架进行PHP(https://github.com/mgdm/OpenCV-for-PHP,http://mgdm.net/talks/confoo11/making-php-see.pdf)并使用轮廓检测(或任何其他分类器)来查找“V”等标记并跳过误报。