Matlab 应用hough变换后查找页面的角点

Matlab 应用hough变换后查找页面的角点,matlab,image-processing,edge-detection,corner-detection,Matlab,Image Processing,Edge Detection,Corner Detection,我和我的同学目前正在做一个课程项目,我们需要一些指导。我们决定使用Matlab重新创建“CamScanner”应用程序 我们可以手动选择角点,并且我们成功地应用透视变换来拉直图像和Bradley的自适应阈值来获得所需的黑白图像 然而,我们正试图通过自动选择角点来改进我们的项目。 我们能够检测边缘使用盒过滤器(Sobel)的垂直,水平,甚至对角线和加强的结果,甚至更多。(请参见下面的右图) 然后我们使用上一步得到的边计算Hough变换,这样我们就可以找到Hough线。 现在留给我们的是检测角点,这

我和我的同学目前正在做一个课程项目,我们需要一些指导。我们决定使用Matlab重新创建“CamScanner”应用程序

我们可以手动选择角点,并且我们成功地应用透视变换来拉直图像和Bradley的自适应阈值来获得所需的黑白图像

然而,我们正试图通过自动选择角点来改进我们的项目。 我们能够检测边缘使用盒过滤器(Sobel)的垂直,水平,甚至对角线和加强的结果,甚至更多。(请参见下面的右图)

然后我们使用上一步得到的边计算Hough变换,这样我们就可以找到Hough线。 现在留给我们的是检测角点,这是通过从hough变换找到的16条线中找到4条线。(在hough变换中直接使用四条线可以检测图像的整个边界,16条线几乎适用于我们所有的测试数据)

在我们完成步骤后,有没有关于如何以简单方式检测角点的建议? 我们尝试了detectHarrisFeatures和detectMinEigenFeatures来检测角点,但没有得到任何令人满意的结果。我们愿意接受任何建议,谢谢

我们的测试数据:1。在右边;应用水平/垂直/对角线边缘检测2后的结果。在左边;16霍夫线


PS:我不知道在哪里发布我的问题,所以我在这里和上发布。

在OpenCV中,我们可以在二值图像中找到轮廓。然后,我们可以将获得的轮廓与矩形绑定。这个矩形的坐标将给出页面的角点。您还可以找到获得的Hough线的交点