我有想法对表进行行和列检测,使用Likert量表检测。有关详细信息,请参阅此链接中的图像。 http://img.docstoccdn.com/thumb/orig/42750583.png
问题是:
我想在我的程序中将单元格内的值输入到二维数组中。如果有符号(任何类型),则值为1;如果有符号,则为0。
注意:
第一行和第一列应该是标题的位置,问题仍然是1,我可以稍后跳过该过程中的第一行和第一列。
要做到这一点,我需要知道:
我是OpenCV的新手,我只知道如何检测边界的存在(一些预处理,轮廓检测和搜索aboutPolyDP)。我已经阅读了这篇文章How to remove convexity defects in a Sudoku square?但是,我仍然不知道我要做什么..
答案 0 :(得分:1)
当输入图像与您的示例图像类似时,为方便起见,我不会使用Hough transform。
在下文中,我提出了一种检测线条的简单方法。此方法仅在输入图像与示例图像类似时才有效,即线条与图像边界平行。
t1
。t2
。 此后,您应该拥有单行和单列。只剩下一个问题(如果这对你来说是一个问题)。表示列的行不连续。因此,您可以通过测量列线的长度来检测表格之间的间隙。
当检测到细胞时,您可以测量每个细胞内的像素并确定正确的细胞。
答案 1 :(得分:0)
我想我在这里找到了一个很好的参考,http://blog.ayoungprogrammer.com/2013/03/tutorial-creating-multiple-choice.html
这是关于多项选择检测,我认为他的情况与我的情况差不多,他必须检测答案是否在A,B,C,D或E列中。