--- a
+++ b/3D Reconstruction/Interpolation/interpolate.m
@@ -0,0 +1,23 @@
+function interpolate(inputDir, outputDir, new_depth, method)
+% Interpolation between images 
+%   inputDir: input image directory  
+%   outputDir: output image directory
+%   new_depth: new depth for 3-D volumetric intensity image
+%   method: method for interpolating, choices are 'nearest', 'linear',
+%                   'cubic', 'box', 'lanczos2', 'lanczos3'
+imgDir  = dir([inputDir '*.png']); % 遍历目录内所有png格式文件
+old_depth = length(imgDir);
+img0 = imread([inputDir imgDir(1).name]);
+num_rows = size(img0, 1);
+num_cols = size(img0, 2);
+images = zeros(num_rows, num_cols, old_depth);
+for i = 1:length(imgDir)          
+    images(:, :, i) =  imread([inputDir imgDir(i).name]); %¶ΑΘ΅ΓΏΥΕΝΌΖ¬
+end
+new_images = imresize3(images, [num_rows, num_cols, new_depth], method);
+for idx = 1:size(new_images, 3)
+    image = new_images(:, :, idx);
+    imwrite(uint8(image), [outputDir num2str(idx), '.png']);
+end
+end
+