我想要做的是获取一个源图像,其中将包含一个已知物理尺寸和已知正方形数量的黑白方格板,并识别所述板的边界,以及它的角度被观察(假设它完全平坦)以及从什么距离观察。
如果我能可靠地识别棋盘的 4 个角,那么我就知道如何计算角度和距离,所以任务更多是关于识别棋盘。
到目前为止,我尝试的是对图像进行灰度化并增加对比度,因此我最终得到了一张鲜明的黑白图像(在眼睛看来,只有白色方块包含黑色) - 虽然我可以识别边界通过测量从黑色->白色->黑色的变化频率,从自上而下的角度来看,电路板很好,我不知道如何从任何角度进行此操作。
名义上我是用 C# 来做这件事的,但就实际答案而言,我很高兴看到任何具有类似 c 语法的代码示例——不过,我对这个的数学和方法更感兴趣。