我正在研究 C++ 中的 OpenCV 代码,它基本上试图检测图像中页面的边界点。我使用 findCountours() 函数来查找轮廓,然后,我尝试使用 approxPolyDP() 函数查找四边形,并且只考虑只有 4 个点的四边形。我的代码主要基于 OpenCV 示例中的 squares.cpp 代码。
它工作并返回 4 分。我很高兴……但这种幸福并没有持续多久。:( 我很快意识到返回点的顺序似乎是随机的(对于不同的图像不同)。我希望算法只以特定的顺序返回 4 个点(例如,左上角,然后右上角,然后是右下角,然后是左下角。
以相同的固定顺序获取点对我的应用程序至关重要,因此,我的问题是“有没有办法修复这些点被算法检测和返回的顺序”(代码几乎与正方形相同。 OpenCV 的 cpp 示例)。任何帮助将不胜感激。不用说,TIA。:D