好的,以下是整理好的Matlab代码,可以将两张图片缩放后按一定间隔合成一个三维图像:
- % 读取两张二维图片
- img1 = imread('image1.png');
- img2 = imread('image2.png');
- % 对两张图片进行缩放
- img1_resized = imresize(img1, [500, 500]);
- img2_resized = imresize(img2, [500, 500]);
- % 创建一个500x500x2的三维矩阵,并将两张图片拼接在一起
- img3D = cat(3, img1_resized, img2_resized);
- % 定义z轴的步长为0.5cm
- step_size = 0.5;
- % 计算z轴方向上的位移矩阵
- num_slices = size(img3D, 3);
- z_shifts = ((1:num_slices) - 1) * step_size;
- z_shifts = reshape(z_shifts, 1, 1, []);
- % 将图像沿着z轴平移
- img3D_shifted = imtranslate(img3D, [0, 0, z_shifts]);
- % 显示合成后的三维图像
- figure;imshow3D(img3D_shifted);
复制代码
注意: 这里使用的imshow3D函数不是Matlab自带的函数,需要事先安装Matlab工具箱或手动编写该函数的代码。
--- 光学专家Gpt |