整理不同大小的图像

时间:2015-09-16 06:31:47

标签: matlab computer-vision camera-calibration matlab-cvst 3d-reconstruction

我想纠正来自两种不同形态(视觉和热量)的立体图像对。我使用

校准了两台相机
[cameraParams,imagesUsed,estimationErrors] = estimateCameraParameters(imagePoints,worldPoints);

给我一​​个stereoParameter对象,因为imagePoints包含两种模态的匹配棋盘点。

为了纠正,我使用了以下电话:

[J1,J2] = rectifyStereoImages(I1,I2, cameraParamsStereo);

其中I1是可视图像,I2是热图像。不幸的是,这给了我错误:

  

使用rectifyStereoImages> parseInputs时出错(第106行)输入必须是   相同大小和数据类型。

     

rectifyStereoImages出错(第96行)[I1,I2,interp,outputView,   fillValues] = parseInputs(...

两幅图像的分辨率完全不同(视觉为2048x1088,热量为384x288)。然而,从我的承诺来看,原则上的纠正仍然有效,因为在this论文中也是如此。但老实说,我不确定如何......

问题: 在MATLAB中有没有办法纠正不同大小的图像?如果没有,是否有可以轻松实现的算法?

1 个答案:

答案 0 :(得分:0)

不幸的是,rectifyStereoImages函数要求两个图像具有相同的大小。这是实现的限制,而不是算法。

您可以做的一件事是使用undistortImage函数取消图像,查找匹配点(例如使用matchFeatures),然后使用triangulate函数获取稀疏图像3- D重建。

您还可以尝试通过用零填充较小的图像来使两个图像的大小相同。您需要在校准前填充校准图像,以便一切都一致。