我使用标准相机拍摄的图像,如下面的设置所示。我很幸运地假设我知道焦距(以毫米为单位),裁剪因子和传感器尺寸,并且可以假设投影中心是图像的中心 - 所以我知道它的位置以像素为单位和传感器
我也知道相机的角度,参考蓝色平面及其在该平面上方的高度。相机仅在x轴上旋转,我们假设它与世界x轴平行。
现在我需要对图像进行度量校正,以便我可以以毫米为单位测量蓝色平面上的对象(2D)。
我一直在尝试使用Matlab中的各种工具来实现这一目标,但到目前为止,我的结果令人失望。显然这是一个平面平面单应性问题,我认为基于我知道传感器大小和其中像素数的事实,可以解决比例。
我的搜索引发了我这个类似的问题,但答案中的方法并不适用于我(下文进一步说明):How to do perspective correction in Matlab from known Intrinsic and Extrinsic parameters?
我试过计算内在矩阵和外在矩阵,然后得到单应性:
SELECT Parent.name FROM Parent JOIN Child on Parent.Id = Child.parentLink WHERE Child.timeStamp > '2016-01-01 : 00.00.00'
这不幸地为我提供了垃圾 - 给出了这张图片的原件大小:
我从上面的代码得到了这个结果:
鉴于其仅有x轴旋转,我认为由于单应性,我们应该得到梯形形状,但我似乎并不是这样。任何人都可以指出我在这里犯过的任何明显错误吗?
答案 0 :(得分:0)
你正在混合像素和mm。以像素为单位表示矩阵KK,使用已知的图像宽度和高度作为缩放因子。