我的同学和我目前正在开设一个课程项目,我们需要一些指导。我们决定使用Matlab重新创建“CamScanner”应用程序。
我们可以手动选择角落,我们成功地应用了透视变换来拉直图像和Bradley的自适应阈值以获得所需的黑白图像。
然而,我们正试图通过自动选择角落来更多地改进我们的项目。 我们能够使用盒式过滤器(Sobel)检测边缘的垂直,水平甚至对角线,并进一步提高结果。 (见右下图)。
然后我们使用从上一步得到的边来计算Hough变换,因此,我们能够找到Hough线。 现在剩下的就是检测角落,这是通过从霍夫变换中找到的16条线中找到4条线。 (在霍夫变换中直接使用四条线将导致图像的整个边界被检测到,16对于几乎所有的测试数据都是理想的。)
有关如何在我们制定的步骤后以简单方式检测角落的任何建议? 我们尝试了检测HarrisFeatures和detectMinEigenFeatures来检测角落,但我们没有得到任何满意的结果。我们欢迎任何建议,谢谢!
我们的测试数据:1。在右边;应用水平/垂直/对角线边缘检测后的结果2.在左侧; 16个霍夫线
PS:我不知道在哪里发布我的问题的确切位置,所以我在此发布了Matlab Community。