如何将图像差异值映射到原始图像吗?

5视图(30天)
使用立体相机标定和Matlab的指示我产生差异的地图。现在我想创建一个和kinect相似的深度图,我需要深度图像映射到原始图像(例如,相机1)。问题是,“差异”和“reconstructScene”输出矩阵的维度产生的图像rectifyStereoImages函数而不是原始图像。我想知道我可以差异值/图像映射到原始图像的像素。下面是一个例子的代码(而不是实际的一个简化版本我跑步,但大部分是相同的)。
I1 = imread (name1);%原始图像
I2 = imread (name2);
[j - 1, J2] = rectifyStereoImages (I1、I2 stereoParams,“OutputView”,“全部”);
disparityMap =差距(rgb2gray (j - 1), rgb2gray (J2),“DisparityRange”,
disparityRange);
point3D = reconstructScene(差距,stereoParams);
%的地方:
% I1的大小是5208 x3476x3
%的大小差距是3672 x7112
% 3672 x7112x3 J2大小
现在我想要深度图像或至少一个差异图像大小5208 x3476 pixel-wise对应的原始图像(I1)
我很感激如果有人有一个想法/建议。
最好的祝愿,

答案(1)

迪玛Lisin
迪玛Lisin 2016年2月21日
你会“un-rectify”形象,没有简单的方法来做,因为精馏是一个非线性变换。
2的评论
迪玛Lisin
迪玛Lisin 2016年2月22日
它有原始RGB图像,或者它可以无畸变的RGB图像吗?如果是后者,你可以undistort立体图像,而不是修正它们。然后计算密集的光流从一个到另一个。然后使用 由三角形组成的 密集的三维重建,并计算深度。
出于好奇,为什么不直接计算纠正图像的深度地图?

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的