一般我们拍的双目图像不是行对齐的,存在偏差,通过使用相机标定文件对图片进行校正。
if(~exist('stereoParams.mat'))
load('stereoParams.mat');
end
load stereoParams.mat
for i = 0:22
img1=imread(['./l/00000',num2str(i),'_10.png']);
img2=imread(['./r/00000',num2str(i),'_10.png']);
[J1,J2]=rectifyStereoImages(img1,img2,stereoParams,'OutputView','valid');
imwrite(J1,['./l_rec/00000',num2str(i),'_10.png']);
imwrite(J2,['./r_rec/00000',num2str(i),'_10.png']);
end
disp("Finished! ")
% img1 = imresize(img1,[489,734]);
% img2 = imresize(img2,[489,734]);
%figure,imshow(img1);
注意两点:
1. matlab中for循环编写:
循环结构:for语句
格式:
for 循环变量=表达式1:表达式2:表达式3
循环体
end
【注】:
表达式1:循环变量初值,
表达式2:步长,为1时,可省略;
表达式3:循环变量终值,会参与到计算。
2.字符串拼接
这里使用[]和,来完成。