1

类似于用棋盘校准单个相机 2D 图像,我希望以像素为单位确定棋盘(或单个正方形)的宽度/高度。

我有一个垂直对准地面的相机,确保与下面的表面完全齐平。我正在使用相机来确定连续帧之间的平移(使用傅立叶相位相关成功实现),目前我的结果返回以像素为单位的平移,但是我想使用类似于校准的技术,我将相机移动到棋盘平放在地面上,以相对于我的图像高度和宽度自动确定棋盘的大小(以像素为单位)。

以毫米为单位知道棋盘的大小,然后我可以将像素单位转换为以毫米为单位的现实世界单位,即,1 个像素将代表与地面上相机高度成比例的距离。这将允许我以像素为单位的转换转换为以毫米为单位的转换,每次我改变相机的高度时都重新校准。

实现这一目标的推荐方法是什么?当然,它一定比单相机 2D 校准更简单。

4

2 回答 2

1

OpenCV 可以为您提供棋盘角的位置cv::findChessboardCorners()

我不确定透视失真是否会影响您的计算,但如果棋盘在相机下方完全对齐,它应该可以工作。

于 2012-09-16T03:56:42.340 回答
0

这只是一个想法,所以不要打我..但也许使用棋盘的自然对比?

“在某些时候,它会从亮像素切换到暗像素,这应该会发生(不记得棋盘上的列数)次。” 应该是一个可行的算法。

于 2012-09-16T03:50:11.013 回答